Ubuntu下包含2種遠端桌面的方式:VINO-Server以及VNC Server。
其中Vino-Server是Ubuntu內建的遠端桌面服務器,也就是在系統(System) —> 喜好設定(Preferences) —> 遠端桌面(Remote Desktop)下,可以很容易開啟,然後就可以使用VNC Viewer進行遠端桌面連線。具體開通辦法,可以參見《Ubuntu下開啟遠端桌面的方法》。不過,這種內建的Vino-Server方式有一個最顯著的缺點:那就是當你重啟機器之後,必須首先到遠程伺服器那邊登入機器,進入系統(相當於建立了一個Session)之後,才能在本地使用遠端桌面連線這個遠程伺服器。這個缺點導致Vino-Server有時極為不方便。
那麼,我們如果要解決這個問題,可以通過安裝VNC Server來解決。在Ubuntu下安裝VNCServer的過程非常簡單:
(1)安裝VNCServer
使用ssh登入Ubuntu,執行命令:sudo apt-get install vnc4server
(2)關閉原來Ubuntu Server內建的遠端桌面
可以先使用VNCViewer串連到Ubuntu上,然後在系統(System) —> 喜好設定(Preferences) —> 遠端桌面(Remote Desktop)下,去掉第一個勾。這個時候你的VNCViewer就會自動斷開。
(3)配置VNCServer
在ssh到Ubuntu的命令列中,運行如下命令:vncpasswd,注意不用加sudo。
這個命令是為目前使用者設定遠端桌面密碼的。然後會在目前使用者的根目錄下產生.vnc的檔案夾,進入.vnc的檔案之後,修改xstartup檔案:
vim .vnc/xstartup (假設你此時在使用者根目錄下)
注釋掉 twm & (即在這一行的最開頭加上一個#) ,在檔案最後添加一行gnome-session &,儲存退出。
(4)啟動VNCServer
vncserver -geometry 1280×800 -alwaysshared :1
這個命令包含了3個參數,第一個參數geometry表示解析度,你可以指定適合自己案頭的解析度;第二個參數alwaysshared表示運行多個人同時串連到同一個案頭;第三個參數:1表示開啟一個1號遠端桌面,此時你可以使用ip:1來串連這個遠端桌面。(注意:上面1280與800之間的串連符為英文字母x(xyz的x),而不是中英文的乘號!)
(5)使用VNCViewer串連這個遠端桌面
在VNCViewer中,輸入ip加案頭號,即 X.X.X.X:1 即可串連剛才的遠端桌面,密碼為之前設定的密碼。
這樣,當你再次重啟伺服器之後,就不必跑到伺服器前登入系統,而可以首先使用ssh登入Ubuntu,執行以上第4步命令,就可以開啟一個遠端桌面,然後就可以使用VNCViewer串連這個遠端桌面了。
我也曾經嘗試能否在Ubuntu下自動啟動VNCServer,自動啟動一個遠端桌面,不過很遺憾,在網上查到的方法多是針對其他的Linux的方法,在Ubuntu下目錄結構完全不同,一些極少數在Ubuntu下自動啟動VNCServer的文章也不適合Ubuntu 9.04 Server版,因此最終我沒有在Ubuntu 9.04 Server上實現自動啟動VNCServer的方法。就是每次重啟機器之後,得先多一步ssh啟動VNCServer的步驟。先這麼用著吧。
備忘:另外,如果想要關閉一個遠端桌面,可以使用如下命令:
vncserver -kill :1
其中,":1"表示的建立遠端桌面時的案頭號