2016年6月29日 星期三

修正 ~/.vnc/xstartup 檔案內容,使得 VNC 連線桌面不再空白

在電腦A中使用 ssh 連線到 Ubuntu Linux (電腦B),接著在電腦B的 command line 下達 vncserver(註1) 指令後,就可以回到電腦A操作使用 realVNC client 軟體連線到 Ubuntu Linux (電腦B) 的遠端桌面。

注意:使用 VNC client 時,網址必須指定 port number,如 192.168.32.56:1。

當 vncserver 指令第一次執行時,會在使用者的 home directory 下建立一個名為 .vnc 的資料夾;在這個資料夾內有一個 xstartup 檔案,其內容會影響 VNC 遠端桌面的可視內容(註2)。

在 http://askubuntu.com/questions/518041/unity-doesnt-work-on-vnc-server-under-14-04-lts 這篇文章中提到,修改 xstartup 的內容如下,即可在 VNC 遠端桌面中看到較多樣的選單畫面。

#!/bin/sh

export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
That's all.

記得在 realVNC 連線時,VNC Server 的網址除了輸入電腦 B 的 IP 位置外,也要一併指定 Display 的編號!此 Display 的編號在執行 vncserver 時,畫面可輕易識別。
於是,輸入的網址類似 10.0.0.212:1,其中冒號後面的 1,即是 Display 的編號。

(註1)
Ubuntu 中的 vncserver 指令是包含在 vnc4server 套件之中。必須使用
sudo apt-get install vnc4server 指令安裝 vnc4server 套件後才能使用。

(註2)
要讓上述的 xstartup 檔案的內容充發揮作用,須檢查下列套件是否完整安裝。
apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal