章 4. 透過 VNC 進行遠端存取

目錄

4.1. 一次性 VNC 工作階段
4.2. 永久 VNC 工作階段

摘要

虛擬網路計算 (VNC) 可讓您透過圖形桌面環境控制遠端電腦 (與遠端外圍程序存取相對)。VNC 獨立於平台,可讓您從任何作業系統存取遠端機器。

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

[Note]工作階段類型

機器可以在不同的連接埠上同時提供這兩種工作階段,但是開啟的工作階段無法從一種類型轉換為另一種類型。

4.1. 一次性 VNC 工作階段

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

過程 4.1. 啟用一次性 VNC 工作階段

  1. 啟動YaST+網路服務+遠端管理 (VNC)

  2. 選取允許遠端管理

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

  4. 按一下完成確認您的設定。

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

[Note]可用的組態

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

其他組態可在不同的連接埠上使用,請詢問您的系統管理員。

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

4.1.1. 啟動一次性 VNC 工作階段

若要啟動一次性 VNC 工作階段,用戶端機器上必須安裝 VNC 檢視器。SUSE Linux 產品上的標準檢視器是 vncviewer,由套件 tightvnc 提供。也可以使用網頁瀏覽器和 Java Applet 來檢視 VNC 工作階段。

若要以伺服器的預設組態啟動 VNC 檢視器與工作階段,請使用以下指令︰

vncviewer jupiter.example.com:1

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

vncviewer jupiter.example.com::5901

或者,可以在支援 Java 的網頁瀏覽器中,輸入 URL http://jupiter.example.com:5801 來檢視 VNC 工作階段

4.1.2. 設定一次性 VNC 工作階段

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

一次性 VNC 工作階段透過 xinetd 精靈啟動。/etc/xinetd.d/vnc 中有一個組態檔。其中預設會提供六個組態區塊︰三個用於 VNC 檢視器 (vnc1vnc3),另外三個提供 Java Applet (vnchttpd1vnchttpd3)。預設只有 vnc1vnchttpd1 處於作用中狀態。

若要啟用某個組態,請在第一欄中以 # 字元將 disable = yes 這一行設定成註解,或者乾脆移除該行。若要取消啟用某個組態,請取消註解或新增該行。

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

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

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

rcxinetd reload
[Important]防火牆與 VNC 埠

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

4.2. 永久 VNC 工作階段

永久 VNC 工作階段在伺服器上啟動。不論用戶端的連線狀態為何,此工作階段以及在此工作階段中啟動的所有應用程式會一直執行,直至工作階段被終止。

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

與會啟動顯示管理員的一次性工作階段不同,永久工作階段會啟動準備就緒的作業桌面,該桌面以啟動 VNC 工作階段之使用者的身分執行。

對永久工作階段的存取受到密碼保護,密碼可能為以下兩種類型:

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

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

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

過程 4.2. 啟動永久 VNC 工作階段

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

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

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

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

    vncserver -geometry 1024x768 -depth 16

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

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

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

[Important]安全性考量

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

VNC 連線未經過加密,因此能夠偵測兩部機器間網路傳輸的人員,可以在工作階段開始時的密碼傳送過程中讀取密碼。

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

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

4.2.1. 連接至永久 VNC 工作階段

若要連接至永久 VNC 工作階段,必須安裝 VNC 檢視器。SUSE Linux 產品上的標準檢視器是 vncviewer,由套件 tightvnc 提供。也可以使用網頁瀏覽器和 Java Applet 來檢視 VNC 工作階段。

若要啟動 VNC 檢視器並連接至 VNC 伺服器的顯示埠 :1,請使用以下指令

vncviewer jupiter.example.com:1

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

vncviewer jupiter.example.com::5901

或者,可以在支援 Java 的網頁瀏覽器中,輸入 URL http://jupiter.example.com:5801 來檢視 VNC 工作階段

4.2.2. 設定永久 VNC 工作階段

永久 VNC 工作階段可透過編輯 $HOME/.vnc/xstartup 來設定。此外圍程序程序檔預設會啟動 xtermtwm 視窗管理員。若要改為啟動 GNOME 或 KDE,請用下列其中一項取代以 twm 開頭的行:

/usr/bin/gnome     # GNOME
/usr/bin/startkde  # KDE
[Note]每個使用者對應一個組態

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