Ubuntu 下 VNC 黑屏是一个非常常见的问题,通常不是“VNC 坏了”,而是桌面环境 / 会话 / 权限 / 配置没对。下面按最常见原因 → 对应解决办法给你系统梳理(适用于 Ubuntu 20.04 / 22.04 / 24.04)。
| 原因 | 占比 |
|---|---|
| 没有正确配置 VNC 启动桌面会话 | ⭐⭐⭐⭐⭐ |
| 使用的是 Wayland(VNC 不支持) | ⭐⭐⭐⭐ |
| VNC 端口 / 显示器号不对 | ⭐⭐⭐ |
| 缺少桌面环境(如只有 server) | ⭐⭐ |
| 权限 / 用户不一致 | ⭐⭐ |
| 显卡 / 显示管理器问题 | ⭐ |
请在 Ubuntu 上执行:
echo $XDG_SESSION_TYPE
x11 → 正常wayland → VNC 黑屏几乎必然sudo nano /etc/gdm3/custom.conf
WaylandEnable=false
sudo reboot
登录界面右上角 ⚙️
选择 Ubuntu on Xorg
VNC 启动后 没有执行桌面环境
~/.vnc/xstartup#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export XDG_RUNTIME_DIR=/run/user/$(id -u)
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
exec gnome-session
chmod +x ~/.vnc/xstartup
建议安装轻量桌面:
sudo apt install xfce4 xfce4-goodies
xstartup 改为:
startxfce4 &
root 启动 VNC✅ VNC 必须在你要登录的用户下启动
vncserver :1
或(TigerVNC):
vncserver
| 显示号 | 端口 |
|---|---|
| :1 | 5901 |
| :2 | 5902 |
✅ 客户端应连接:
IP:5901
检查:
ls /usr/share/xsessions
如果为空:
sudo apt install ubuntu-desktop
# 1. 看 session 类型
echo $XDG_SESSION_TYPE
# 2. 关闭 Wayland
sudo nano /etc/gdm3/custom.conf
# 3. 重启
sudo reboot
# 4. 检查 VNC 配置
cat ~/.vnc/xstartup
# 5. 重启 VNC
vncserver -kill :1
vncserver :1
你可以直接把下面信息发我,我可以一步到位给你解决方案:
lsb_release -a)echo $XDG_SESSION_TYPE 输出我可以直接给你可用的 xstartup 配置。