在 CentOS 上排查 VNC 报错,建议按“由外到内、由简到繁”的思路来。下面是一套通用排查流程,基本能覆盖 90% 的场景。
先搞清楚你用的是什么 VNC:
vncserver@:1.service)cat /etc/redhat-release
rpm -qa | grep vnc
可能原因:
排查:
# 查看服务状态
systemctl status vncserver@:1.service
# 查看监听端口(默认 5901)
ss -lntp | grep 59
# 防火墙
firewall-cmd --list-all
解决示例:
firewall-cmd --add-port=5901/tcp --permanent
firewall-cmd --reload
常见原因:
~/.vnc/xstartup 配置错误检查桌面:
rpm -qa | grep gnome
xstartup 示例(CentOS 7/8):
#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
或 GNOME:
gnome-session &
然后:
chmod +x ~/.vnc/xstartup
典型错误:
A VNC server is already running as :1
解决:
vncserver -kill :1
rm -rf /tmp/.X11-unix/X1
rm -rf ~/.vnc/*.pid
vncserver :1
vncpasswd
注意:
getenforce
临时测试:
setenforce 0
如果立刻能连,说明 SELinux 问题:
setsebool -P vnc_enabled on
VNC 报错 一定要看日志:
~/.vnc/*.log
journalctl -xe
常见关键词:
Permission deniedcannot open displayModule is unknown你可以把下面信息发我:
我可以直接告诉你具体是哪一步错了,以及怎么改。