在 Windows 系統上安裝 VNC server,可讓遠端使用者連線到目前電腦操作者的桌面,進行遠端操作,然而在 Linux 世界中,圖形桌面系統是多人多工的,如果你在套件庫中尋找 vncserver
套件來安裝,結果可能與您預期的不太一樣。建立遠端連線後,得到卻是一個全新的可登入桌面環境,而不是操作中的螢幕畫面。
那有沒有辦法連線至操作中的 Linux 桌面環境螢幕畫面呢? 這就要靠 x11VNC
套件來達成了。
x11vnc
安裝方式(以 Raspbian/jessie 系統為例):
$ sudo apt-get install x11vnc
如果需要建立 vnc 連線密碼,可使用 storepasswd
參數,依照指示輸入密碼:
$ x11vnc -storepasswd
會產生一個預設路徑存放於 .vnc/passwd
的加密文字檔。
簡單執行 x11vnc
即可啟動,常用設定如下:
$ x11vnc -usepw //使用 .vnc/passwd 作為連線密碼
$ x11vnc -nopw //不要使用密碼
$ x11vnc -bg //在背景執行,但當遠端連線結束後亦會結束服務。
$ x11vnc -bg -forever //在背景執行,但會持續執行等候連線。
$ x11vnc -display :0 //指定要連線至 :0 螢幕(如果你只有一個 x-windows 顯示器,:0 就是你正在用的螢幕畫面)
可執行 x11vnc --help
可查看所有可用設定參數。
通常我們會想要系統啟動後便自動執行 vnc 服務,首先設定好開機自動登入圖形介面,然後編輯登入使用者家目錄下的 .config/lxession/LXDE-pi/autostart
,新增一行:
@x11vnc -bg -nevershared -forever -ultrafilexfer -nopw -display :0
其中的 -ultrafilexfer
參數用來支援 ultraVNC viewer 的檔案傳輸功能,如果你用的是 tightVNC,則改為 -tightfilexfer
。
這樣子在啟動使用者桌面環境(LXDE)時,便會自動執行 x11vnc。