Ubuntu 下 VNC 黑屏是非常常见的问题,通常不是“VNC 坏了”,而是桌面环境 / 启动方式 / 配置不匹配导致的。下面按最常见原因 → 对应解决办法给你一个排查清单。
很多 VNC Server 默认不会自动启动桌面,所以你看到的是黑屏。
✅ 手动指定桌面环境
如果你用的是 x11vnc、tigervnc、tightvnc 等,需要让它启动桌面。
示例(GNOME):
export DISPLAY=:1
startx &
或(更常见):
vncserver :1 -geometry 1920x1080 -depth 24
并且 ~/.vnc/xstartup 里必须包含桌面启动命令(见第 2 点)。
~/.vnc/xstartup 没配置或配置错误(最常见)这是黑屏的第一元凶。
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export XDG_RUNTIME_DIR=/tmp/runtime-$(whoami)
mkdir -p $XDG_RUNTIME_DIR
exec /etc/X11/xinit/xinitrc
或 GNOME:
gnome-session &
或 Ubuntu 默认桌面:
startxfce4 &
✅ 一定要执行权限
chmod +x ~/.vnc/xstartup
Wayland + VNC = 黑屏
echo $XDG_SESSION_TYPE
如果是 wayland → VNC 基本不可用。
✅ 切换到 X11:
xstartup 没启动桌面✅ 解决:
sudo apt install ubuntu-desktop
常见原因:
✅ 正确用法:
x11vnc -display :0 -auth guess -forever -loop -noxdamage
No protocol specified
✅ 解决:
xhost +local:
✅ 建议使用:
:0 混用你可以按顺序检查:
[ ] Ubuntu 是否使用 X11 而不是 Wayland
[ ] ~/.vnc/xstartup 是否存在且可执行
[ ] xstartup 里是否启动桌面(gnome-session / startxfce4)
[ ] 是否安装了桌面环境
[ ] VNC 使用的是 :1 而不是 :0
✅ Ubuntu 22.04 + TigerVNC + XFCE
sudo apt install xfce4 tigervnc-standalone-server
~/.vnc/xstartup:
startxfce4 &
你可以直接贴出:
1️⃣ Ubuntu 版本
2️⃣ 用的 VNC 软件
3️⃣ xstartup 内容
4️⃣ 黑屏时 VNC 日志(~/.vnc/*.log)
我可以精确告诉你哪一行导致黑屏。