一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux配置VNC远程桌面连接 详细安装步骤【教程】

时间:2026-05-27 11:00:02 编辑:袖梨 来源:一聚教程网

VNC能连上但桌面空白、黑屏或卡在登录界面,90%是xstartup配置错误或GNOME/Xfce会话未正确启动;需确保xstartup首行为#!/bin/sh、有正确会话命令(如exec gnome-session)、chmod +x可执行,且修改后必须vncserver -kill :1再重启。

直接说结论:VNC 能连上但桌面空白、黑屏、卡在登录界面,90% 是 xstartup 没配对,或 GNOME/Xfce 会话没正确启动 —— 不是密码错,也不是端口不通。

为什么 vncserver :1 启动后桌面是空的或只有灰色背景

默认 vncserver 创建的 ~/.vnc/xstartup 文件往往只调用 twmstartxfce4(取决于安装包),而没适配你实际装的桌面环境。CentOS/RHEL 默认要 GNOME,Ubuntu/Debian 常用 Xfce,Deepin 用 DDE —— 混用就会白屏。

GNOME 用户必须确保 xstartup 中有 exec gnome-sessionexec /usr/bin/gnome-session(路径可能为 /usr/bin/gnome-session-binary)Xfce 用户应写 exec startxfce4,不能只写 xfce4-session所有行前加 # 注释掉旧内容,第一行必须是 #!/bin/sh,且文件需可执行:chmod +x ~/.vnc/xstartup若用 root 用户运行 vncserver~/.vnc/xstartup/root/.vnc/;普通用户如 admin 则在 /home/admin/.vnc/

vncserver 启动失败报 “No display” 或 “Could not open default font 'fixed'”

这通常是因为 X Window System 缺组件,或字体路径未加载。尤其在最小化安装的 CentOS/RHEL 上常见。

先确认已装完整 GUI:CentOS/RHEL 执行 yum groupinstall "X Window System" "GNOME Desktop"(RHEL 8+ 用 dnf)Ubuntu/Debian 必须装 x-window-system 和对应桌面,例如:apt install x-window-system xfce4检查 /usr/share/fonts 是否存在,缺失则运行 fc-cache -fv 重建字体缓存不要跳过 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources 这行 —— 它加载字体和颜色配置,删了容易触发 fixed font 报错

连接时提示 “Authentication failed” 但密码确定没错

VNC 密码不是系统密码,也不复用 SSH 凭据。它单独存于每个用户的 ~/.vnc/passwd,且 vncpasswdvncserver 初始化生成的密码文件权限必须严格限制。

切到目标用户再设密码:su - admin && vncserver :1(首次运行会引导输入),或手动用 vncpasswd检查 ~/.vnc/passwd 权限是否为 600ls -l ~/.vnc/passwd,不是就立刻 chmod 600 ~/.vnc/passwd如果用 systemd 管理服务(如 vncserver@:1.service),确保该 service 文件中 User= 和实际密码所属用户一致客户端连接地址格式必须是 IP:1(对应端口 5901),不是 IP:5901 —— 后者是常见手误

如何让 VNC 开机自启且绑定指定用户

不推荐用 systemctl enable vncserver(老式 init 脚本已弃用),现代做法是启用 per-user socket-activated service。

复制模板:cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service编辑该文件,把 <user></user> 替换为真实用户名(如 admin),并确认 ExecStart 中的显示号与文件名一致(:1)重载配置:systemctl daemon-reload,然后启用:systemctl enable vncserver@:1.service启动前务必先以该用户手动跑一次 vncserver :1,生成 ~/.vnc/xstartuppasswd,否则 service 会静默失败

最易被忽略的一点:每次修改 ~/.vnc/xstartup 或桌面环境配置后,必须先 vncserver -kill :1,再 vncserver :1 —— 不杀进程直接改脚本,新配置不会生效。日志在 ~/.vnc/*.log,出问题第一时间看它。

热门栏目