Ubuntu VNC遠程控制計算機步驟
在需要遠程控制的Ubuntu計算機上,打開終端并執行以下命令安裝VNC服務器(以TigerVNC為例,兼容性好且性能優秀):
sudo apt update && sudo apt install tigervnc-standalone-server tigervnc-common -y
安裝完成后,系統會提示確認軟件包安裝,輸入Y
并按回車鍵完成。
運行vncpasswd
命令為當前用戶設置VNC專用密碼(至少6位,區分大小寫):
vncpasswd
輸入密碼時,系統不會顯示字符(保護隱私),確認密碼后完成設置。此密碼用于后續VNC客戶端連接時的身份驗證。
默認情況下,VNC啟動的會話可能不符合日常使用習慣(如無桌面環境或界面簡陋),需修改~/.vnc/xstartup
文件(VNC啟動腳本)以指定桌面環境(如GNOME、XFCE等)。以下以Ubuntu默認的GNOME桌面為例:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
xstartup
文件(使用nano
或其他文本編輯器):nano ~/.vnc/xstartup
unset
清除干擾環境變量,exec
啟動GNOME會話):#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/Xsession ubuntu-xsession
Ctrl+O
→回車→Ctrl+X
退出nano
),并賦予可執行權限:chmod +x ~/.vnc/xstartup
注:若使用輕量級桌面環境(如XFCE),可將
exec
行改為exec startxfce4
(需提前安裝xfce4
:sudo apt install xfce4 xfce4-goodies
)。
通過vncserver
命令啟動VNC服務,指定顯示編號(如:1
,對應端口號5901
;:2
對應5902
,依此類推):
vncserver :1
首次啟動時,系統會提示“New ‘X’ desktop is [IP]:1”(表示服務已啟動)。若需停止服務,運行:
vncserver -kill :1
(將:1
替換為實際的顯示編號)。
若Ubuntu系統啟用了防火墻(如ufw
,默認開啟),需開放VNC對應的端口(:1
對應5901
):
sudo ufw allow 5901/tcp
刷新防火墻規則使配置生效:
sudo ufw reload
注:若使用
firewalld
(如CentOS),可運行sudo firewall-cmd --add-port=5901/tcp --permanent && sudo firewall-cmd --reload
。
在另一臺計算機(Windows、macOS或Linux均可)上安裝VNC客戶端(如RealVNC Viewer、TightVNC Viewer或Remmina),打開客戶端并輸入以下地址:
<Ubuntu計算機的IP地址>:1
例如,若Ubuntu的IP地址為192.168.1.100
,則輸入192.168.1.100:1
。點擊“連接”,輸入之前設置的VNC密碼,即可遠程控制Ubuntu桌面。
若需要VNC服務器在Ubuntu系統啟動時自動運行,可創建systemd
服務文件:
sudo nano /etc/systemd/system/vncserver@.service
<USER>
為你的Ubuntu用戶名,%i
為顯示編號):[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<USER>
Group=<USER>
WorkingDirectory=/home/<USER>
PIDFile=/home/<USER>/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service # :1對應顯示編號
sudo systemctl start vncserver@1.service
此后,系統重啟時會自動啟動VNC服務(顯示編號為1
)。
ssh -L 5901:localhost:5901 <Ubuntu用戶名>@<Ubuntu IP地址>
然后通過VNC客戶端連接localhost:1
即可。vncpasswd
命令定期修改VNC密碼,避免密碼泄露。ufw
)僅允許特定IP地址訪問VNC端口(如sudo ufw allow from 192.168.1.0/24 to any port 5901
)。