排查 Ubuntu 上的 VNC 故障,通常可以按**“网络 → 服务 → 配置 → 桌面环境 → 日志”**的顺序来进行。下面是一套比较系统的方法。
ps aux | grep vnc
# 或
systemctl status vncserver@:1.service
如果你用的是 tigervnc / tightvnc:
vncserver -list
ss -lntp | grep 59
常见端口:
5900 → :05901 → :1如果没有监听,说明 VNC 服务没起来。
sudo ufw status
必要时放行:
sudo ufw allow 5901/tcp
云服务器还要检查安全组规则。
常见位置:
~/.vnc/config
~/.vnc/xstartup
xstartup 示例(Ubuntu + XFCE):
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
确保有执行权限:
chmod +x ~/.vnc/xstartup
echo $XDG_CURRENT_DESKTOP
未安装可装:
sudo apt install xfce4
原因通常是 xstartup 没正确启动桌面。
解决:
~/.vnc/xstartupvncserver -kill :1
vncserver :1
检查:
telnet 服务器IP 5901
一般是桌面环境崩溃或权限问题。
查看日志:
~/.vnc/*.log
cat ~/.vnc/主机名:1.log
journalctl -xe
journalctl -u vncserver@:1.service
/etc/systemd/system/vncserver@.service 示例:
[Unit]
Description=VNC Server
After=network.target
[Service]
Type=forking
User=youruser
ExecStart=/usr/bin/vncserver :%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
如果你愿意,可以告诉我:
我可以直接帮你定位具体原因。