2011年7月3日 星期日

Linux KVM - 建立 Linux 遠端桌面系統


虛擬電腦內,除了 Windows 作業系統可以進行遠端桌面連線之外,Linux 作業系統一樣可以進行遠端桌面連線,即使是終端機系統,也可以進行遠端連線。

前一章節所介紹的 libvirt 所提通的 VNC 連線方式,一樣可以套用在 Linux 之上,只要將虛擬電腦的 VNC 連線設定,開放給任意 IP 連線,並設定好指定的連接埠即可,即使是終端機系統也可以進行遠端連線,如下圖:




不過,VNC 遠端桌面的連線方式,有以下的缺點:

連線速度慢,若網路速度本身就不快,利用 VNC 連線到遠端點腦桌面時,操作反應會有遲滯的現象

需要額外開啟特定連接埠,容易產生安全性的疑慮

所以一般來說,有鑑於連線速度與遠端桌面操作效能的考量,VNC 遠端桌面連線會是最後一種選擇,當所有可能可使用的遠端桌面連線模式都無法採用時,才會考慮使用 VNC



Neatx 遠端桌面連線

要介紹 Neatx 之前,要先來介紹 NX technology,這是 2003 年,由 NoMachine GPL 授權的方式所釋放的一種遠端桌面連線協定,並有提供相對應 ClientNX Client)端與 ServerNX Server)端的連線軟體,不過由於 Server 端的軟體並非所有版本都是 Free 的,故 Fabian Franz 2004 年開始了 FreeNX project,這同樣是一套 NX Server ,一樣是 GPL 授權方式,而且是 Free Open Source

可惜的是,目前因為一些因素,所以 FreeNX project 目前沒有新的進展,而 Google 2009 年的時候,也提供了一套 Open Source NX Server ,也就是本文要介紹的 Neatx

Neatx 遠端桌面連線,是由 Google 所釋出的 Open Source,其目標是希望能達到 Windows RDP 的效能,不過,就現階段來說, Neatx 遠端桌面的連線速度與操作順暢,都遠遠大於 VNC 遠端桌面連線,除此之外,使用 Neatx 遠端桌面連線,並不需要額外開啟連接埠,只需要利用現有 SSH 的連接埠即可,安全性更優於 VNC

備註1:因為 Neatx 利用 SSH 的連接埠,所以虛擬電腦之內必須有安裝 SSH ,若沒有安裝,請在終端機內輸入〝sudo apt-get install ssh〞即可。


Neatx NX-Server,安裝在 Linux 作業系統的虛擬電腦之內)

目前 Neatx 只有 Linux 的版本,以 Ubuntu 為例,其安裝方式如下:

1. 安裝套件:
$ sudo apt-get install python-software-properties
(安裝此套件的目的,主要是為了新增〝add-apt-repository〞的指令)


2. 匯入連線金鑰
$ sudo add-apt-repository ppa:freenx-team


3. 更新套件資料庫
$ sudo apt-get update


4. 安裝 Neatx
$ sudo apt-get install neatx-server

只要依上述步驟操作,就可以將 Neatx 給安裝完成,且一安裝完成,就可以直接使用,不需要額外設定。

日後若有發現到無法利用 Client 端軟體(NX Client)連線到虛擬電腦,這是因為有時候 Neatx 不會自動刪除執行過的 session,只需要刪除以下路徑內的檔案即可重新連線:

$ sudo rm -rf /var/lib/neatx/sessions/*

或者直接將〝rm -rf /var/lib/neatx/sessions/*〞直接寫入到 /etc/rc.local 之類,以後重新開機時,就會清除舊有的 session,以免發生無法連線的問題。


Neatx Client NoMachine NX Client

其實 Google 並沒有提供 Neatx 所屬的 Client 端的連線軟體,而因為 Neatx 也是屬於 NX-Server 的一種,所以可以利用 NoMachine 所提供 Free 版本的遠端桌面連線的 Client 端軟體(NX Client),也是目前連接 Neatx 的最佳首選。

目前 NoMachine 所提供的 NX Client 端軟體,目前大部分的流通的作業系統,都有其對應的版本可以下載使用:




Windows 的版本在安裝上比較沒有問題,而 Linux 的安裝方式,則依照不同的發行套件而有所差異,以 Ubuntu 來說,安裝順序如下:
  1. NoMachine 官方網站下載套件,而 Ubuntu 就下載 DEB 格式的套件(有區分為 i386 x86_64 兩種):



  2. 安裝 NoMachine NX Client

    $ sudo dpkg -i nxclient_3.5.0-7_i386.deb (或 nxclient_3.5.0-7_amd64.deb
安裝完成之後,可以到「應用程式」「其他」NX Client for Linux」來啟動 NoMachine NX Client 端軟體,開啟之後,會先出現歡迎視窗,直接按下「Next」,進入設定視窗: 在〝Session〞的欄位,填入一個識別名稱,可以是電腦名稱,或是可區別的字串、編碼都可以,而〝Host〞則填入有安裝 Neatx-Server 的虛擬電腦 IP,〝Port〞預設是 SSH Port Numbert ,除非原本的 SSH 連接埠有改變,否則不需更動,至於最下方的 internet connection,則依照實際的網路連線模式來選擇: 再來則是選擇虛擬電腦的作業系統類型,與桌面環境類型,至於遠端桌面得大小,若可以調整,則可以選擇要顯示的桌面視窗大小,這就取決於網路速度的快慢,因為顯示的視窗越大,需要的網路速度則越快,而筆者目前的測試環境是無法調整的: 最後會詢問是否要在桌面產生連線捷徑(預設會產生捷徑),或是進入偏好設定頁面: 上述步驟按下「Finish」之後,就會跳出連線視窗,確認 Session 無誤之後,填入登入帳號與碼碼,接著再按下「Login」: 若是第一次登入,則會跳出產生連線金鑰的訊息,按下「OK」即可: 若沒有任何問題,就可以輕易的以遠端桌面連線的方式,進入虛擬電腦之內: 執行操作之後,就可以發現到,Neatx 遠端桌面的執行速度與反應,都比 VNC 快上許多,加上又不需要額外進行任何設定,也不需要開放特定連接埠(只需要 SSH 的連接埠即可),若要在企業內部採用〝桌面雲〞的架構,〝Neatx〞是個不錯的選擇。

沒有留言:

張貼留言