下面按常见故障场景给你一套 CentOS VNC 排错思路(CentOS 7/8 通用,略有差异我会说明)。
rpm -qa | grep tigervnc
如果没有:
yum install -y tigervnc-server
systemctl status vncserver@:1.service
journalctl -xe
常见错误:
Unit not found → 服务文件没建Job for ... failed → 看 journalctl 具体报错ls /etc/systemd/system/vncserver@:1.service
示例(用户 root):
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=root
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
改完执行:
systemctl daemon-reload
systemctl start vncserver@:1
vncpasswd
⚠️ 必须是启动 VNC 的用户执行
检查 ~/.vnc/xstartup
GNOME 示例(CentOS 7):
#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
或:
gnome-session &
赋予权限:
chmod +x ~/.vnc/xstartup
然后重启 VNC。
:1 → 5901:2 → 5902查看:
ss -lntp | grep vnc
firewall-cmd --add-port=5901/tcp --permanent
firewall-cmd --reload
云服务器还要查安全组
getenforce
临时测试:
setenforce 0
如果 VNC 正常了:
setsebool -P vnc_enabled 1
vncviewer localhost:1
:1如果你愿意,可以把下面信息发我,我可以直接帮你定位:
journalctl -xe 报错systemctl status vncserver@:1我可以一步一步帮你排。