請參考: Linux開源免費的遠端桌面列表
適用系統:Ubuntu 24.04以上 & Debian 12以上
介紹如何建立x11VNC遠端伺服器,不包含GPU加速與PulseAudio音效。
個人使用的話花不到半毛錢,使用內網穿透軟體,讓不同網路下的裝置連線到同一個虛擬區網。這樣要進行SSH、VNC遠端桌面就簡單多了。
VNC實作有x11VNC、TigerVNC、RealVNC、TurboVNC。其中的x11VNC可讓遠端連線直接登入目前的工作階段(session)而非開一個新桌面,可吃到GPU加速,且斷線後桌面仍會持續運作。但x11VNC的先決條件是要登入桌面,然後才能離開電腦(可以關閉螢幕電源)。
如果要不登入桌面環境,從SSH啟動VNC伺服器的話,請 改用TigerVNC。
1. 設定x11VNC伺服器#
x11VNC必須先在電腦前設定好,才可離開電腦。
因為x11VNC是基於X建立的,故桌面環境必須使用X11工作階段,不支援Wayland。
- 確認目前工作階段是否為X11
echo $XDG_SESSION_TYPE
- 安裝x11VNC
sudo apt install x11vnc
- 設定VNC伺服器密碼
x11vnc -storepasswd
- 新增Systemd user service
vim ~/.config/systemd/user/x11vnc.service
- 填入以下內容。
-geometry
設定解析度。
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
ExecStart=x11vnc -bg -auth guess -usepw -display :0 -forever -geometry 1280x720
[Install]
WantedBy=default.target
- 注意
Exec
這一段,若是使用SDDM+KDE桌面,就要改成下面這樣
Exec=x11vnc -bg -auth $(find /var/run/sddm/ -type f) -usepw -display :0 -forever -geometry 1280x720
- 設定登入後自動啟動x11VNC服務
systemctl --user daemon-reload
systemctl --user enable x11vnc.service
- 防火牆開啟VNC會用到的通訊埠:
sudo ufw allow ssh
sudo ufw allow 5900:5910/tcp
sudo ufw reload
2. 開放外部連線#
參見 內網穿透軟體使用教學,例如在電腦與手機安裝ZeroTier,並設定電腦開機自動啟動ZeroTier服務。
安裝好後重開機。
3. 遠端登入示例#
電腦:安裝 Remmina或 RealVNC Viewer,在位址欄選取VNC,輸入
遠端Zerotier虛擬IP:5901
連線手機:安裝 AVNC或 Real VNC Viewer,在位址欄輸入
遠端Zerotier虛擬IP:5901
,登入遠端桌面。網頁:安裝 noVNC