Ubuntu 下 VNC 连接后闪退(一闪而过 / 自动断开)是非常常见的问题,通常不是 VNC 本身坏了,而是桌面环境或配置不匹配导致的。下面按「最常见 → 较少见」给你梳理原因和对策。
Ubuntu 默认使用 GNOME + Wayland,而 VNC 不支持 Wayland。
✅ 表现:
gnome-session / Wayland 报错✅ 解决:
sudo vim /etc/gdm3/custom.conf
取消注释:
WaylandEnable=false
重启:
sudo reboot
sudo apt install xfce4 xfce4-goodies
修改 ~/.vnc/xstartup:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
然后:
chmod +x ~/.vnc/xstartup
vncserver -kill :1
vncserver :1
~/.vnc/xstartup 配置错误很多人直接启动 gnome-session,但没装完整 GNOME。
❌ 错误示例:
gnome-session &
✅ 正确(推荐 XFCE):
startxfce4 &
vncserver -list
如果有残留:
vncserver -kill :1
vncserver :1
ls -ld ~
应为:
drwxr-x--- user user
修复:
chmod 750 ~
chown -R $USER:$USER ~
.Xauthorityrm -f ~/.Xauthority
vncserver :1
常见组合:
| Server | 客户端 |
|---|---|
| TigerVNC | TigerVNC |
| RealVNC | RealVNC |
| TightVNC | 任意 |
⚠️ RealVNC 免费版 不支持 Ubuntu 桌面共享
cat ~/.vnc/*.log
常见错误关键词:
could not open displaygnome-session crashedauthentication failurePermission denied✅ Ubuntu + TigerVNC + XFCE
✅ 关闭 Wayland
✅ 固定 xstartup
如果你愿意,可以告诉我:
我可以直接帮你写一套可用配置。