在 Ubuntu 下修改 VNC 端口,主要取决于你用的是哪种 VNC Server(最常见的是 TigerVNC / TightVNC / RealVNC / x11vnc)。下面按常见情况说明。
VNC 端口规则是:
5900 + 显示号
例如:
:0 → 5900:1 → 5901:2 → 5902所以换端口本质就是换显示号。
vncserver -list
vncserver -kill :1
vncserver :2
✅ 端口就变成 5902
编辑配置:
nano ~/.vnc/config
添加或修改:
display=2
然后启动:
vncserver
ls /etc/systemd/system/
常见如:
vncserver@1.service
编辑服务文件:
sudo nano /etc/systemd/system/vncserver@1.service
找到类似:
ExecStart=/usr/bin/vncserver :1
改为:
ExecStart=/usr/bin/vncserver :2
重新加载并重启:
sudo systemctl daemon-reload
sudo systemctl restart vncserver@2
直接指定端口:
x11vnc -rfbport 5902 -display :0
或写入启动脚本:
x11vnc -rfbport 5902 -display :0 -forever -shared
sudo ufw allow 5902/tcp
sudo ufw reload
192.168.1.100:2
或者
192.168.1.100:5902
❌ 端口被占用:
ss -lntp | grep 590
❌ 黑屏 / 无法连接
→ 检查 ~/.vnc/xstartup 是否正确配置桌面环境(GNOME / XFCE)
| 场景 | 方法 |
|---|---|
| 临时换端口 | vncserver :2 |
| 永久换端口 | 修改 ~/.vnc/config |
| systemd | 修改 service 文件 |
| x11vnc | -rfbport 5902 |
如果你愿意,可以告诉我:
我可以给你精确的一步到位命令。