前提
vnc远程用户 不能在同时本地图形界面登录终端。
如果 vnc远程用户 已登录本地 GNOME 桌面,会占用 X11 显示资源(/tmp/.X11-unix/X1 socket),导致 VNC 服务启动失败(vncserver exited with status=29)。
如果用户桌面正在终端运行,vnc远程桌面之前需要先注销在终端的登录
1. 前置配置
1.1 关闭防火墙
# 临时关闭sudosystemctl stop firewalld# 永久关闭sudosystemctl disable--nowfirewalld1.2 关闭 SELinux
# 临时关闭(立即生效,重启后恢复)sudosetenforce0# 永久关闭(重启后生效)sudosed-i's/^SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config2. 软件安装
sudodnfinstall-ytigervnc-serversudodnf groupinstall-y"Server with GUI"3. 关闭 Wayland
sudosed-i's/#WaylandEnable=false/WaylandEnable=false/'/etc/gdm/custom.confsudosystemctl restart gdm# 或 reboot如需验证已切换为 X11(图形化界面运行):
echo$XDG_SESSION_TYPE# 输出: x114. 配置 VNC 用户映射
sudotee/etc/tigervnc/vncserver.users<<'EOF' :2=useradmin EOF关键:使用
:2(5902 端口),避开:1,防止与本地登录的图形桌面会话冲突。
5. 设置 VNC 密码
su- useradmin# 创建新配置目录(vncpasswd 不会自动创建)mkdir-p~/.config/tigervnc# 设置密码(保存到 ~/.config/tigervnc/passwd)vncpasswd# 输入密码两次# view-only password 选 nexit6. 配置 VNC 会话参数
sudotee/etc/tigervnc/vncserver-config-defaults<<'EOF' session=gnome geometry=1920x1080 EOF7. 复制并启用 systemd 服务
sudocp/usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.servicesudosystemctl daemon-reloadsudosystemctlenable--nowvncserver@:28. 验证服务状态
sudosystemctl status vncserver@:2# Active: active (running)ss-ntlp|grep5902# LISTEN 0 5 0.0.0.0:5902 users:(("Xvnc",...))JumpServer 连接配置
| 配置项 | 值 |
|---|---|
| 协议 | VNC |
| 地址 | 服务器IP:5902 |
| 密码 | useradmin 设置的 VNC 密码 |
核心要点总结
| 要点 | 说明 |
|---|---|
显示号选择:2 | 避免与本地 GNOME 桌面:1冲突 |
| 密码路径 | ~/.config/tigervnc/passwd(Rocky 8 新路径) |
| 全局配置 | /etc/tigervnc/vncserver-config-defaults |
| Wayland | 必须关闭,TigerVNC 仅支持 X11 |
| 密码目录 | 需手动mkdir -p ~/.config/tigervnc,vncpasswd 不会自动创建 |