安裝 vnc server
用 package manager 搜尋可用的 vnc 實作。
debian, ubuntu
>>> apt-cache search vnc
>>> pacman -Ss vnc
在伺服器端啟動 vnc server
>>> vncserver
如果是第一次執行,vncserver 會初始化一些檔案, 並詢問 vnc 連線的密碼。
第一次執行, vncserver (預設)會跑在 :1 上。
:n 對應到 TCP 5900 +n port
第二次執行 vncserver 會有另外一個 vncserver 實例跑在 :2 上。
連接 (伺服器上的) vncserver
假設在 10.1.10.2 的 5901 (:1) 跑了一個 vncserver
>>> vncviewer 10.1.10.2:1
(在伺服器端) 關閉 vncserver
>>> vncserver -kill :1
查看伺服器上 哪幾個 display 上面開啟了 vnc 服務
>>> ps aux | grep -i VNC
改變 vnc 連線密碼
>>> vncpasswd
vnc settings
vnc 相關的設定檔在 ~/.vnc 目錄下
我們需要注意 ~/.vnc/xstartup 這一個檔案 它的功能類似 ~/.xinitrc
在這個檔案裡頭 可以決定要使用哪一個桌面環境 (DE)
透過 vncserver 控制 local display ( Direct control of the local X session(s) i.e. X running on the physical monitor)
vnc 有不同的實作,各有不同的特色。
ssvnc 直接支援加密安全通道
x11vnc 可以 attach 現有的 X-window session
下列的 vncserver 提供 控制 local display 的功能 (interact with real X displays i.e. a display corresponding to a physical monitor, keyboard, and mouse)
- TigerVNC
- x11vnc
TigerVNC
>>> x0vncserver -display :0 -passwordfile ~/.vnc/passwd
透過 ssh tunnel 安全連線
Server 端
執行 vncserver 時,加上 -localhost ( or -nolisten when using tigervnc) , (確保) 只能透過 localhost 連線。
>>> vncserver -geometry 1440x900 -alwayshared -dip 96 -localhost :1
Client 端 (ssh tunnel)
經過前面 Server 端的步驟, 現在我們只能在 server 端連 vnc sever。
>>> ssh vnc_server_ip -L 8900:localhost:5901
>>> vncviewer localhost::8900
vnc server 啟動參數
>>> vncserver -geometry 1440x900 -alwaysshared -dpi 96 :1
其他選擇
vnc 連線缺點
連線速度慢
需要額外開啟特定連接埠
vnc 連線優點
跨平台 (Linux, Mac, Windows)
X2Go enables you to access a graphical desktop of a computer over the network. The transmission is done using the Secure Shell protocol, so it is encrypted.
A free NX server by google