调试 Ubuntu 上的 VNC 错误,通常可以按“由外到内、由服务到客户端”的思路来排查。下面是一套实用排查流程,适用于常见场景(TigerVNC / TightVNC / x11vnc / Ubuntu 桌面 VNC)。
在终端执行:
uname -a
lsb_release -a
which vncserver
which Xvnc
确认你用的是哪种 VNC:
vncserver(TigerVNC / TightVNC)x11vncps aux | grep -i vnc
或(systemd):
systemctl status vncserver@:1.service
如果没启动:
vncserver :1
# 或
systemctl start vncserver@:1
~/.vnc/*.log
例如:
cat ~/.vnc/ubuntu:1.log
常见错误:
Fatal server errorcould not open default fontPermission deniedjournalctl -xe
journalctl -u vncserver@:1
通常是 .vnc/xstartup 配置问题。
示例(Ubuntu + GNOME):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec gnome-session
或 XFCE:
exec startxfce4
修改后:
chmod +x ~/.vnc/xstartup
vncserver -kill :1
vncserver :1
检查:
ss -tlnp | grep 590
应看到:
5901
防火墙:
sudo ufw allow 5901
云服务器还要放行安全组。
vncpasswd
可能是显卡或会话冲突:
export XKL_XMODMAP_DISABLE=1
或尝试:
vncserver -geometry 1280x720 -depth 24
GNOME 自带:
sudo apt install gnome-remote-desktop
设置 → 共享 → 远程桌面
或使用:
sudo apt install x11vnc
x11vnc -display :0
如果你愿意,可以把具体报错信息或日志贴出来,我可以直接帮你定位是哪一类问题。