Ubuntu 上使用 TigerVNC 远程控制的完整步骤
一 准备与安装
- 确认已安装图形桌面(无则先安装,例如 Xfce 或 GNOME)。
- 更新索引并安装 TigerVNC:
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
- 为当前用户设置 VNC 访问密码(不要用 sudo,否则会设置到 root):
vncpasswd
提示是否创建“只读密码”,一般选 n。
二 配置桌面会话
- 创建或编辑会话启动脚本:
mkdir -p ~/.vnc
nano ~/.vnc/xstartup
- 根据桌面环境写入以下内容(二选一或按实际环境调整):
- Xfce(轻量稳定,推荐远程):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
- GNOME(若原生 GNOME 兼容性不佳,可用 GNOME Flashback):
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP=“GNOME-Flashback:GNOME”
export XDG_MENU_PREFIX=“gnome-flashback-”
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check
- 赋予执行权限:
chmod +x ~/.vnc/xstartup。
三 启动与连接
- 启动 VNC 会话(示例为显示编号 :1,分辨率 1920x1080,允许远程主机连接):
vncserver :1 -geometry 1920x1080 -depth 24 -localhost no
说明:显示编号 :X 对应端口 5900+X(:1→5901,:2→5902)。
- 查看与关闭会话:
vncserver -list
vncserver -kill :1
- 客户端连接:
- 直接连接(公网或同网段):在 VNC Viewer 输入 服务器IP:5901。
- 通过 SSH 隧道加密(更安全):
ssh -L 5901:127.0.0.1:5901 用户名@服务器IP
然后在客户端连接 localhost:5901。
四 防火墙与开机自启
- 防火墙放行(示例为 UFW):
sudo ufw allow 5901/tcp
sudo ufw enable
如使用 firewalld:
sudo firewall-cmd --permanent --add-port=5901/tcp && sudo firewall-cmd --reload
- 开机自启(systemd 模板,替换 为实际用户名):
sudo nano /etc/systemd/system/vncserver@.service
写入:
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :’
ExecStart=/usr/bin/vncserver -geometry 1920x1080 -localhost no :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1.service。
五 常见问题与排查
- 连接被拒绝或“Connection refused”:检查服务是否运行(vncserver -list)、端口是否监听(ss -lntp | grep 5901),以及云服务器安全组/本机防火墙是否放行 5901。
- 只能本机连:启动时未加 -localhost no,或仅监听 127.0.0.1。用 vncserver -kill :1 后改为:
vncserver :1 -localhost no -geometry 1920x1080
- 黑屏/灰屏/桌面缺失:多半是 xstartup 未正确启动桌面,按第二部分替换为对应桌面环境的脚本并 chmod +x。
- GNOME 兼容性问题:优先尝试 GNOME Flashback + Metacity(见第二部分脚本)。
- 注销后无法重连:退出 VNC 会话请用“断开/关闭窗口”,不要点“注销”,否则会话与进程会结束。
- 分辨率/色彩:启动参数 -geometry 1920x1080 -depth 24 可调整清晰度与色深。