跳至內容跳至頁面導覽:上一頁 [access key p]/下一頁 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文件 / 管理指南 / 一般任務 / 使用 VNC 的遠端圖形工作階段
適用範圍 SUSE Linux Enterprise Server 15 SP3

10 使用 VNC 的遠端圖形工作階段

您可以利用虛擬網路計算 (VNC) 透過圖形桌面存取遠端電腦,並執行遠端圖形應用程式。VNC 獨立於平台,可讓您從任何作業系統存取遠端機器。本章介紹如何使用桌面用戶端 vncviewer 和 Remmina 連接至 VNC 伺服器,以及如何操作 VNC 伺服器。

SUSE Linux Enterprise Server 支援兩種不同類型的 VNC 工作階段:一次性工作階段,只要用戶端 VNC 連接不中斷,該工作階段將一直處於作用中;永久工作階段,此工作階段將一直處於作用中,除非明確將其終止。

VNC 伺服器可在不同連接埠上同時提供兩種工作階段,但開啟的工作階段不能從一種類型轉換為另一種類型。

10.1 vncviewer 用戶端

若要連接到伺服器提供的 VNC 服務,需要使用一個用戶端。SUSE Linux Enterprise Server 中的預設用戶端是 tigervnc 套件提供的 vncviewer

10.1.1 使用 vncviewer CLI 進行連接

若要啟動 VNC 查看器並發起與伺服器的工作階段,請使用以下指令:

tux > vncviewer jupiter.example.com:1

您也可以指定含兩個冒號的連接埠號碼,而不指定 VNC 顯示埠號碼:

tux > vncviewer jupiter.example.com::5901
注意
注意:顯示號碼和連接埠號碼

您在 VNC 用戶端中指定的實際顯示號碼或連接埠號碼必須與在目標機器上透過 vncserver 指令選取的顯示號碼或連接埠號碼相同。如需更多資訊,請參閱第 10.4 節 「設定永久 VNC 伺服器工作階段」

10.1.2 使用 vncviewer GUI 進行連接

執行 vncviewer 且不指定 --listen 或要連接到的主機會顯示一個視窗,要求您輸入連接詳細資料。按第 10.1.1 節 「使用 vncviewer CLI 進行連接」中所述在 VNC 伺服器欄位中輸入主機,然後按一下連接

vncviewer 要求輸入連接詳細資料
圖 10.1︰ vncviewer

10.1.3 未加密連接通知

VNC 協定支援不同類型的加密連接,請不要將這些連接與密碼驗證相混淆。如果某個連接未使用 TLS,VNC 檢視器的視窗標題中可能會出現 (連接未加密!) 文字。

10.2 Remmina:遠端桌面用戶端

Remmina 是功能豐富的新式遠端桌面用戶端。它支援多種存取方法,例如 VNC、SSH、RDP 和 Spice。

10.2.1 安裝

若要使用 Remmina,請檢查系統上是否安裝了 remmina 套件,若未安裝,請加以安裝。記得還要安裝適用於 Remmina 的 VNC 外掛程式:

root # zypper in remmina remmina-plugin-vnc

10.2.2 主視窗

透過輸入 remmina 指令執行 Remmina。

Remmina 的主視窗
圖 10.2︰ Remmina 的主視窗

該應用程式主視窗顯示儲存的遠端工作階段清單。在這裡,您可以新增和儲存新遠端工作階段、快速啟動新工作階段而不儲存、啟動先前儲存的工作階段,或設定 Remmina 的全域優先設定。

10.2.3 新增遠端工作階段

若要新增和儲存新遠端工作階段,請按一下主視窗左上方的 新增工作階段遠端桌面優先設定視窗即會開啟。

遠端桌面優先設定
圖 10.3︰ 遠端桌面優先設定

在用於指定剛才新增的遠端工作階段設定檔的欄位中填寫資訊。最重要的技術包括:

名稱

設定檔的名稱,將列於主視窗中。

通訊協定

連接到遠端工作階段時要使用的通訊協定,例如 VNC。

伺服器

遠端伺服器的 IP 或 DNS 位址和顯示號碼。

使用者名稱、密碼

將用於進行遠端驗證的身分證明。保留為空白表示不進行驗證。

色彩深度、品質

根據連接速度和品質選取最佳選項。

選取進階索引標籤可輸入更具體的設定。

提示
提示:停用加密

如果用戶端與遠端伺服器之間的通訊不加密,請啟用停用加密,否則連接會失敗。

選取 SSH 索引標籤可顯示進階 SSH 通道和驗證選項。

請按 儲存 加以確認。新的設定檔將列在主視窗中。

10.2.4 啟動遠端工作階段

您可以啟動先前儲存的工作階段,也可以快速啟動一個遠端工作階段而不儲存連接詳細資料。

10.2.4.1 快速啟動遠端工作階段

若要快速啟動遠端工作階段而不新增和儲存連接詳細資料,請使用主視窗頂部的下拉式方塊和文字方塊。

快速啟動
圖 10.4︰ 快速啟動

從下拉式方塊中選取通訊協定 (例如「VNC」),然後輸入 VNC 伺服器 DNS 或 IP 位址,後跟一個冒號和顯示號碼,然後按 Enter 確認。

10.2.4.2 開啟儲存的遠端工作階段

若要開啟特定的遠端工作階段,請從工作階段清單中連按兩下該工作階段。

10.2.4.3 遠端工作階段視窗

遠端工作階段會在新視窗的索引標籤中開啟。每個索引標籤代管一個工作階段。視窗左側的工具列可協助您管理視窗/工作階段,例如切換全螢幕模式、調整視窗大小以適應工作階段的顯示大小、將特定按鍵動作傳送到工作階段、擷取工作階段的螢幕畫面,或設定影像品質。

正在檢視遠端工作階段的 Remmina
圖 10.5︰ 正在檢視遠端工作階段的 Remmina

10.2.5 編輯、複製和刪除儲存的工作階段

若要編輯儲存的某個遠端工作階段,請在 Remmina 主視窗中以滑鼠右鍵按一下該工作階段的名稱,然後選取編輯。如需相關欄位的描述,請參閱第 10.2.3 節 「新增遠端工作階段」

若要複製儲存的某個遠端工作階段,請在 Remmina 主視窗中以滑鼠右鍵按一下該工作階段的名稱,然後選取複製。在遠端桌面優先設定視窗中,變更設定檔的名稱,(選擇性) 調整相關選項,然後按一下儲存確認。

若要刪除儲存的某個遠端工作階段,請在 Remmina 主視窗中以滑鼠右鍵按一下該工作階段的名稱,然後選取刪除。在下一個對話方塊中,按一下確認。

10.2.6 從指令行執行遠端工作階段

如果您需要從指令行或使用批次檔案開啟遠端工作階段,而不先開啟應用程式主視窗,請使用以下語法:

 tux > remmina -c profile_name.remmina

Remmina 的設定檔儲存在您主目錄下的 .local/share/remmina/ 目錄中。若要確定哪個設定檔屬於您要開啟的工作階段,請執行 Remmina,在主視窗中按一下工作階段名稱,然後在視窗底部的狀態行中查看設定檔的路徑。

讀取設定檔的路徑
圖 10.6︰ 讀取設定檔的路徑

如果 Remmina 未在執行,您可以將設定檔重新命名為更合理的檔案名稱,例如 sle15.remmina。您甚至可以將設定檔複製到自訂目錄,並從該目錄中使用 remmina -c 指令來執行它。

10.3 在 VNC 伺服器上設定一次性工作階段

一次性工作階段由遠端用戶端啟動。它會在伺服器上啟動圖形登入畫面。這樣,您就可以選擇啟動工作階段的使用者,如果登入管理員支援,還可以選擇桌面環境。終止此類 VNC 工作階段的用戶端連接時,在該工作階段內啟動的所有應用程式也會隨之終止。一次性 VNC 工作階段無法共用,不過在同一台主機上可以同時啟動多個工作階段。

程序 10.1︰ 啟用一次性 VNC 工作階段
  1. 啟動YaST › 網路服務 › 遠端管理 (VNC)

  2. 核取允許進行遠端管理 (不含工作階段管理)

  3. 如果您打算在網頁瀏覽器視窗中存取 VNC 工作階段,請啟用允許使用網路瀏覽器存取

  4. 若需要,還可核取在防火牆中開啟埠(例如,當網路介面設定為位於外部區域中時)。如果您有多個網路介面,請透過防火牆細節設定在特定介面開啟防火牆埠的限制。

  5. 下一步 確認您的設定值。

  6. 如果有些需要的套件尚未提供,您需要批准安裝缺失套件。

    提示
    提示:重新啟動顯示管理員

    YaST 對顯示管理員設定進行了變更。您需要登出目前的圖形工作階段並重新啟動顯示管理員,以使變更生效。

遠端管理
圖 10.7︰ 遠端管理

10.3.1 可用的組態

SUSE Linux Enterprise Server 上的預設組態以 16 位元色彩深度、1024x768 像素解析度顯示工作階段。使用一般的 VNC 檢視器 (相當於 VNC 顯示埠 1) 時,可在連接埠 5901 上檢視工作階段,而使用網頁瀏覽器時,則可在連接埠 5801 上檢視工作階段。

其他組態可在不同的連接埠上使用,請參閱第 10.3.3 節 「設定一次性 VNC 工作階段」

在一次性工作階段中,VNC 顯示埠號碼和 X 顯示埠號碼是獨立的。VNC 顯示埠號碼需要手動指定給伺服器支援的每個組態 (在上例中為 :1)。每次以其中一種組態啟動 VNC 工作階段時,工作階段會自動獲得可用的 X 顯示埠號碼。

依預設,VNC 用戶端與伺服器會嘗試透過安裝後產生的自行簽署 SSL 證書安全通訊。您可以使用預設的證書,也可以用自己的證書取代它。使用自行簽署的證書時,需要在首次連接之前,於 VNC 檢視器與網頁瀏覽器中確認證書的簽名。

10.3.2 啟動一次性 VNC 工作階段

若要連接一次性 VNC 工作階段,必須安裝 VNC 檢視器,另請參閱第 10.1 節 「vncviewer 用戶端」。或者,可在支援 JavaScript 的網頁瀏覽器中輸入以下 URL 來檢視 VNC 工作階段:http://jupiter.example.com:5801

10.3.3 設定一次性 VNC 工作階段

如果您不需要或不想修改預設組態,可以跳過本小節。

一次性 VNC 工作階段透過 systemd 通訊端 xvnc.socket 啟動。該通訊端預設提供六個組態區塊:三個用於 VNC 檢視器 (vnc1vnc3),另外三個用於 JavaScript 用戶端 (vnchttpd1vnchttpd3)。預設只有 vnc1vnchttpd1 處於作用中狀態。

若要在開機時啟動 VNC 伺服器通訊端,請執行以下指令:

tux > sudo  systemctl enable xvnc.socket

若要立即啟動通訊端,請執行:

tux > sudo  systemctl start xvnc.socket

可透過 server_args 選項設定 Xvnc 伺服器。如需選項清單,請參閱 Xvnc --help

新增自訂組態時,請確定它們沒有使用同一台主機上的其他組態、服務或現有的永久 VNC 工作階段已在使用的連接埠。

輸入以下指令啟用組態變更:

tux > sudo systemctl reload xvnc.socket
重要
重要:防火牆和 VNC 連接埠

依照程序 10.1 「啟用一次性 VNC 工作階段」 中所述啟用遠端管理時,會在防火牆中開啟連接埠 58015901。如果提供 VNC 工作階段的網路介面受防火牆保護,則您在為 VNC 工作階段啟用其他連接埠時,需要手動開啟相應的連接埠。如需指示,請參閱Chapter 23, Masquerading and firewalls

10.4 設定永久 VNC 伺服器工作階段

從多個用戶端可以同時存取一個永久工作階段。此特性非常適合用於在一個用戶端具有完整存取權,而所有其他用戶端具有僅檢視存取權的場合進行演示操作。另一個使用案例是:訓練員可能需要在其中存取學員桌面的訓練工作階段。

提示
提示:連接至永久 VNC 工作階段

若要連接至永久 VNC 工作階段,必須安裝 VNC 檢視器。如需更多詳細資料,請參閱第 10.1 節 「vncviewer 用戶端」。或者,可在支援 JavaScript 的網頁瀏覽器中輸入以下 URL 來檢視 VNC 工作階段:http://jupiter.example.com:5801

持續 VNC 工作階段分為以下兩類:

10.4.1 使用 vncserver 啟動的 VNC 工作階段

此類型的持續 VNC 工作階段在伺服器上啟動。不論用戶端的連接狀態為何,此工作階段以及在此工作階段中啟動的所有應用程式會一直執行,直至工作階段被終止。對永久工作階段的存取受到密碼保護,密碼可能為以下兩種類型:

  • 授予完全存取權的一般密碼,或

  • 授予非互動式 (僅檢視) 存取權限的選擇性僅檢視密碼。

一個工作階段可以同時擁有這兩種類型的多個用戶端連接。

程序 10.2︰ 使用 vncserver 啟動永久 VNC 工作階段
  1. 開啟外圍程序,並確定您以應當擁有 VNC 工作階段的使用者身分登入。

  2. 如果提供 VNC 工作階段的網路介面受防火牆保護,則您需要在防火牆中手動開啟工作階段使用的連接埠。如果要啟動多個工作階段,可以開啟一系列連接埠。如需如何設定防火牆的詳細資料,請參閱Chapter 23, Masquerading and firewalls

    vncserver 對顯示埠 :1 使用連接埠 5901,對顯示埠 :2 使用連接埠 5902,依此類推。對於永久工作階段,VNC 顯示埠和 X 顯示埠的號碼通常都是相同的。

  3. 若要以 1024x768 像素的解析度及 16 位元的色彩深度啟動工作階段,請輸入以下指令:

    vncserver -alwaysshared -geometry 1024x768 -depth 16

    vncserver 指令在未指定顯示埠號碼的情況下,會挑選未使用的號碼,並列印它的選擇。有關更多選項的資訊,請參閱 man 1 vncserver

首次執行 vncserver 時,它會要求您輸入擁有工作階段完整存取權限的密碼。如果需要,您也可以提供對工作階段具有僅檢視存取權限的密碼。

此處提供的密碼還可供同一個使用者用來啟動以後的工作階段。使用 vncpasswd 指令可以變更這些密碼。

重要
重要:安全性注意事項

請務必使用足夠長 (8 個或更多字元) 的嚴密密碼。請不要共用這些密碼。

若要終止工作階段,請從 VNC 檢視器關閉在 VNC 工作階段內部執行的桌面環境,就如同關閉一般本地 X 工作階段一樣。

如果您想要手動終止工作階段,請在 VNC 伺服器上開啟一個外圍程序,並務必以擁有您要終止之 VNC 工作階段的使用者身分登入。執行以下指令以終止在顯示埠 :1 上執行的工作階段:vncserver -kill :1

10.4.1.1 設定永久 VNC 工作階段

永久 VNC 工作階段可透過編輯 $HOME/.vnc/xstartup 來設定。依預設,此外圍程序程序檔會啟動它啟動時所處的同一個 GUI/視窗管理員。在 SUSE Linux Enterprise Server 中,此 GUI/視窗管理員為 GNOME 或 IceWM。如果想要使用您選擇的視窗管理員啟動工作階段,請設定變數 WINDOWMANAGER

WINDOWMANAGER=gnome vncserver -geometry 1024x768
WINDOWMANAGER=icewm vncserver -geometry 1024x768
注意
注意:每個使用者對應一個組態

永久 VNC 工作階段透過單個基於使用者的組態設定。由同一個使用者啟動的多個工作階段皆使用相同的啟動檔案和密碼檔案。

10.4.2 使用 vncmanager 啟動的 VNC 工作階段

程序 10.3︰ 啟用永久 VNC 工作階段
  1. 啟動「YaST ›  網路服務 ›  遠端管理 (VNC)」。

  2. 啟用允許進行遠端管理 (含工作階段管理)

  3. 如果您打算在網頁瀏覽器視窗中存取 VNC 工作階段,請啟用允許使用網路瀏覽器存取

  4. 若需要,還可核取在防火牆中開啟埠(例如,當網路介面設定為位於外部區域中時)。如果您有多個網路介面,請透過防火牆細節設定在特定介面開啟防火牆埠的限制。

  5. 下一步 確認您的設定值。

  6. 如果有些需要的套件尚未提供,您需要批准安裝缺失套件。

    提示
    提示:重新啟動顯示管理員

    YaST 對顯示管理員設定進行了變更。您需要登出目前的圖形工作階段並重新啟動顯示管理員,以使變更生效。

10.4.2.1 設定永久 VNC 工作階段

程序 10.3 「啟用永久 VNC 工作階段」中所述啟用 VNC 工作階段管理後,便可以使用您喜歡的 VNC 檢視器 (例如 vncviewer 或 Remmina) 正常連接到遠端工作階段。此時將顯示登入畫面。當您登入後,桌面環境的系統匣中將出現「VNC」圖示。按一下該圖示可開啟 VNC 工作階段視窗。如果該圖示未出現,或者您的桌面環境不支援將圖示放在系統匣中,請手動執行 vncmanager-controller

VNC 工作階段設定
圖 10.8︰ VNC 工作階段設定

有幾項設定會影響 VNC 工作階段的行為:

非持續,私人

這相當於一次性工作階段。其他使用者將看不見此工作階段,它在您斷開連接後即會終止。如需相關資訊,請參閱第 10.3 節 「在 VNC 伺服器上設定一次性工作階段」

持續,可見

其他使用者可以看見工作階段,它在您斷開連接後仍繼續執行。

工作階段名稱

您可以在此處指定持續工作階段的名稱,以便在重新連接時可以輕鬆識別它。

不需要密碼

任何人不必提供使用者身分證明登入即可存取工作階段。

需要使用者登入

需要使用有效的使用者名稱和密碼登入後,才能存取工作階段。該選項會在允許的使用者文字方塊中列出有效的使用者名稱。

一次允許一個用戶端

防止多個使用者同時加入該工作階段。

一次允許多個用戶端

允許多個使用者同時加入持續工作階段。適合用於遠端展示或訓練工作階段。

按一下確定加以確認。

10.4.2.2 加入永久 VNC 工作階段

第 10.4.2.1 節 「設定永久 VNC 工作階段」中所述設定持續 VNC 工作階段後,可透過 VNC 檢視器加入它。當 VNC 用戶端連接到伺服器後,系統將提示您選擇是要建立新工作階段,還是加入現有工作階段:

加入永久 VNC 工作階段
圖 10.9︰ 加入永久 VNC 工作階段

當您按一下現有工作階段的名稱後,系統可能要求您輸入登入身分證明,具體取決於持續工作階段設定。

10.5 在 VNC 伺服器上設定加密

如果 VNC 伺服器設定正確,則 VNC 伺服器與用戶端之間的所有通訊都會加密。驗證在工作階段開始時進行,實際的資料傳輸在驗證後開始。

無論是一次性還是持續 VNC 工作階段,都可透過 server_args 行中 /usr/bin/Xvnc 指令的 -securitytypes 參數設定安全性選項。-securitytypes 參數會選取驗證方法和加密。它的選項如下:

驗證
None、TLSNone、X509None

沒有驗證。

VncAuth、TLSVnc、X509Vnc

驗證使用自訂密碼。

Plain、TLSPlain、X509Plain

驗證使用 PAM 來驗證使用者的密碼。

加密
None、vncAuth、plain

不加密。

TLSNone、TLSVnc、TLSPlain

匿名 TLS 加密。所有內容都會加密,但不驗證遠端主機。因此,您可以防護被動攻擊者,但不能防禦中間人攻擊者。

X509None、X509Vnc、X509Plain

使用證書進行 TLS 加密。如果使用自行簽署的證書,則在第一次連接時,系統將要求您驗證證書。在以後的連接中,僅當證書有變更時,系統才會向您發出警告。因此,在第一次連接時,您可以防禦中間人攻擊之外的所有其他攻擊 (類似於使用一般的 SSH)。如果使用由證書管理中心簽署且與機器名稱相符的證書,您的安全將得到全面保障 (類似於使用一般的 HTTPS)。

提示
提示:證書和金鑰的路徑

如果您使用基於 X509 的加密,需要透過 -X509Cert-X509Key 選項指定 X509 證書和金鑰的路徑。

如果您選取多種安全性類型 (以逗號分隔),將會使用用戶端與伺服器都支援且允許的第一種安全性。如此,您便可在伺服器上設定隨機加密。如果您需要支援不支援加密的 VNC 用戶端,此功能將相當實用。

在用戶端上,您也可以指定允許的安全性類型,以防在您連接到已知啟用了加密的伺服器時遭到降級攻擊 (雖然在該情況下,我們的 vncviewer 會發出「連接未加密!」訊息來警告您)。