返回部落格

在 Ubuntu 20.04 上安裝與設定虛擬網路運算 (VNC)

在 Ubuntu 20.04 上安裝與設定虛擬網路運算 (VNC)

Virtual Network Computing (VNC) 是一種螢幕共享系統,用於遠端存取圖形使用者介面。它使用遠端訊框緩衝區協定,允許一個伺服器(使用者端)與另一端(用戶端)進行連接。VNC 安全、可靠,且適用於所有作業系統。

RealVNC, UltraVNC, Xfce, TightVNC等等,是目前最受歡迎且廣泛使用的 VNC 用戶端。在眾多可用的替代方案中,您可以根據自己的便利性自由選擇任何 VNC。在本教學中,我們將引導您完成在 Ubuntu 20.04 上安裝和設定 VNC 的步驟。我們將安裝 Xfce ,因為它速度快、輕量且效能優異。

我們將首先在 Ubuntu 伺服器上設定 VNC 伺服器,並透過 SSH 通道建立安全連線。最後,我們將在本地電腦上使用 VNC 用戶端程式,透過圖形桌面環境與伺服器進行互動。

先決條件

要進行本教學,您需要:

步驟 1 — 安裝桌面環境和 VNC 伺服器

與之前的 Ubuntu 版本不同,Ubuntu 20.04 沒有預裝 VNC。第一步,我們將從 Ubuntu 官方套件庫安裝必要的套件。在繼續之前,讓我們更新現有的套件:

現在我們將安裝 Xfce 以及 xfce4-goodies 套件,使用以下指令:

在安裝套件時,您會看到一個畫面,提示您為 Xfce 選擇預設的顯示管理器。忽略該訊息或將其設定為預設值,然後按下 ENTER.

顯示管理器是一個允許使用者透過圖形介面登入桌面環境的程式。在本教學中,當我們以非 root 的 Ubuntu 使用者身份登入並使用 VNC 用戶端進行連線時,我們將使用 Xfce。因此,顯示管理器的選擇不會對我們的安裝產生任何影響。

安裝 Xfce 後,我們將安裝 TightVNC 伺服器:

在下一步中,使用 vncserver 指令來設定 VNC 存取密碼並建立初始設定檔。輸入以下內容以啟動 VNC 伺服器執行個體:

之後,設定一個長度在 6 到 8 個字元之間的密碼,然後按下 ENTER。您將會看到提示訊息:

驗證密碼後,您將可以選擇建立一個僅供檢視的密碼。使用僅供檢視密碼登入的使用者將無法使用滑鼠或鍵盤控制 VNC。同樣地,這只是建議,如果您需要可以啟用它,否則可以跳過。

未來,如果您希望變更密碼或新增僅供檢視的密碼,請使用以下指令:

到目前為止,您已經為伺服器建立了所有預設設定,並且啟動了一個顯示連接埠 5901 啟動為 :1。VNC 可以在其他顯示連接埠上啟動多個執行個體,例如 :2, :3,以及 :4 指的是連接埠 5902, 5903,以及 5904 分別為:

您的 VNC 伺服器現已成功安裝並運行。在下一步中,讓我們配置伺服器以啟動 Xfce,以便透過圖形介面進行存取。

步驟 2 — 配置 VNC 伺服器

在 home 目錄下,您會找到 .vnc 資料夾,其中包含所有名為 startup 的配置檔案。最初,您會發現正在運行的啟動檔案,這是在我們運行命令 vncserverStep-1 時自動建立的。該啟動指令碼是在您於上一步運行 vncserver 命令時建立的。然而,您現在將建立自己的指令碼來啟動 Xfce 桌面。由於 VNC 配置將會改變,我們也必須建立自己的伺服器來啟動 Xfce 桌面。

在繼續之前,我們必須停止運行在連接埠 5901:

您將看到以下輸出:

而不是 17648,您可能會得到一個不同的數字,這沒關係。接下來,我們將修改 xstartup 檔案。在對檔案進行任何修改之前,讓我們備份原始檔案:

接下來,建立一個新的 xstartup 檔案並在任何文字編輯器中開啟它。在本教學中,我們使用的是 nano:

完成後,將以下幾行新增到檔案中:

每當您啟動或重新啟動 VNC 伺服器時,這些命令都會自動執行。第一行是 Shebang,它向系統提供有關直譯器的資訊,以便傳遞 ~/.vnc/xstartup 檔案以進行執行。下一行 xrdb $HOME/. Xresources,通知 VNC 的 GUI 框架讀取伺服器使用者的 Xresources 檔案。最後,最後一行要求伺服器啟動 Xfce。新增這些行後,儲存並關閉檔案。

我們需要使該檔案可執行,以便 VNC 伺服器可以使用新的啟動檔案:

接下來,重新啟動 VNC 伺服器:

現在您將在此處新增 -localhost 選項。localhost 將 VNC 伺服器繫結到您伺服器的環回介面(loopback interface),僅允許來自已安裝伺服器的連線。接下來,我們將在本地電腦和伺服器之間建立 SSH 通道。目的是在 VNC 周圍增加一層額外的安全保護。為什麼?因為擁有存取權限的使用者將是那些已經擁有伺服器 SSH 存取權限的使用者。

您將看到以下輸出:

配置完成後,我們就可以從本地電腦連線到 VNC 伺服器了。

步驟 3 — 安全地連線到 VNC 桌面

與伺服器連線時,VNC 不會使用安全協定。因此,我們需要建立一個 SSH 通道,並要求 VNC 用戶端使用該通道進行連線,而不是允許其自行進行直接連線。

我們將使用 ssh 命令在本地電腦上建立一個 SSH 連線,該連線會轉發到 localhost 連線。在終端機上使用該命令來建立 SSH 連線:

讓我們來解讀上述程式碼:

  • -L 59000:localhost:5901-L 參數指定本地電腦上的指定連接埠( 59000)將轉到目的伺服器上的指定主機和連接埠( localhost:5901)。這意味著連接埠 5901 在目的地伺服器上將被定義為 your_server_ip)。您指定的本機連接埠是任意的。只要該連接埠尚未綁定到其他服務,您就可以自由地將其用作通道的轉發連接埠。

  • -C:啟用壓縮,這有助於進一步減少資源消耗並提高效能。

  • -N:適用於轉發連接埠。這會通知 ssh 不要執行任何遠端命令。

  • -l cloudsigma your_server_ip-l 參數允許您指定連接到伺服器後要登入的使用者。

與僅僅開啟伺服器的防火牆以允許連接到連接埠 相比,上述命令是建立安全連接的更安全方式。5901 來自任何地方。建立連接後,SSH 通道會將內容從連接埠 5901 上的 VNC 轉發到連接埠 59000 上的本機電腦,透過預設的 SSH 連接埠;連接埠 22.

您也可以使用 PuTTY 來連接您的伺服器。開啟 PuTTY,前往 PuTTY 終端機的左側並找到 Connection 分支以進行連線。然後,展開 SSH 分支並點擊 Tunnels。在 Options controlling SSH port forwarding 畫面,輸入 59000 作為 Source Port 以及 localhost:5901 作為 Destination:

VNC image 1

保持所有選項不變,點擊 Add,然後點擊 Apply 以建立通道。通道啟動後,使用 VNC 用戶端連接到 localhost: 59000。預設情況下,系統會提示您使用我們在 Step-1 中建立的密碼進行驗證。連線後,您將看到預設的 Xfce 桌面:

VNC 2

您可以存取和管理家目錄中的檔案。此外,將您的 VNC 伺服器設定為以 systemd 服務.

步驟 4 — 將 VNC 作為 Systemd 服務執行

將 VNC 伺服器設定為以 systemd 服務執行可便於伺服器管理。您可以根據自己的便利和需求進行啟動、停止、重新啟動或終止。每次伺服器開機時,您都可以使用 systemd 管理命令來驗證伺服器是否為 ONOFF.

首先,我們將建立一個新的單元檔案(unit file),以指定我們在管理服務時要使用的 VNC 顯示連接埠。定義一個單元檔案:

您會在檔案名稱的末尾找到 @ 符號,這允許您傳遞參數以使用服務設定。

接下來,將以下幾行新增到單元檔案中。重新命名 User, Group, WorkingDirectory, 以及以下值中的使用者名稱:PIDFILE:

如果 VNC 已經在執行, ExecStartPre 命令將會停止它。 ExecStart 命令會啟動 VNC 並將色彩深度設定為 24 位元色彩,解析度為 1280×800。您可以根據需要編輯這些啟動選項。此外,請注意 ExecStart 命令再次包含 -localhost 選項。完成後,儲存並關閉單元檔案。

接下來,向您的系統導入新的單元檔案:

啟用 ON 單元檔案:

1 之後的 @ 符號表示該服務應顯示在哪個顯示器編號上。在我們的案例中,它是預設的 :1,正如在 步驟 2 中所討論的。如果 VNC 仍在執行,您可以使用 kill 指令停止目前的 VNC 伺服器執行個體:

然後,像啟動任何其他 systemd 服務一樣啟動它:

您可以使用此指令驗證它是否已啟動:

您將會看到以下輸出:

您的 VNC 伺服器現在已準備就緒,可在您的伺服器每次開機時使用,您可以使用 systemctl 指令來管理它,就像任何其他 systemd 服務一樣。然而,您在用戶端不會看到任何差異。若要重新連線,請啟動您的 SSH 通道,使用:

您可以再次使用您的 VNC 用戶端連線至 localhost:59000 與您的伺服器。

結論

起初,設定 VNC 伺服器可能看起來具有挑戰性,特別是當您嘗試與新電腦連線時。一旦您建立了可靠的連線,與遠端電腦協作將會變得有趣且令人興奮。在您的 Ubuntu 20.04 伺服器上啟動並執行安全的 VNC 伺服器後,您可以使用易於使用的圖形介面輕鬆管理您的資源、檔案、軟體和設定。使用過多的頻寬可能是使用 VNC 的一個缺點。您可以透過使用低解析度和灰階螢幕來克服這個問題,以實現更快速的傳輸。

祝您使用愉快!

author

Shreyas Patil

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的創意設計師,專注於透過傳統與創新行銷渠道建立一致的企業形象。他擅長將藝術願景與策略行銷相融合,創造具有影響力的品牌敘事。

留言

目前尚無留言。成為第一個留言的人吧。