在 CentOS 上排查 VNC 故障,可以按**“服务 → 网络 → 配置 → 日志 → 客户端”**的顺序系统排查。下面给你一套实用流程(适用于 CentOS 7/8/Stream,TigerVNC 常见场景)。
systemctl status vncserver@:1.service
# 或
systemctl status vncserver@:2.service
常见服务名:
vncserver@:1.service(:1 对应 5901 端口)systemctl start vncserver@:1.service
systemctl enable vncserver@:1.service
ss -lntp | grep 590
或
netstat -lntp | grep 590
正常应看到:
5901 (for :1)
5902 (for :2)
cat ~/.vnc/config
示例:
session=gnome
geometry=1280x720
cat /etc/systemd/system/vncserver@:1.service
重点检查:
User=ExecStart= 路径WorkingDirectory=/home/用户名cat ~/.vnc/*.log
常见错误:
Permission deniedCould not open displayAuthentication failurejournalctl -xe
journalctl -u vncserver@:1.service
firewall-cmd --list-all
firewall-cmd --add-port=5901/tcp --permanent
firewall-cmd --reload
getenforce
如果是 Enforcing,可临时测试:
setenforce 0
或允许 VNC:
setsebool -P vnc_enabled 1
ls -ld /home/用户名
应为:
drwx------ (700)
ls -la ~/.vnc
权限异常可重建:
rm -rf ~/.vnc
vncserver :1
telnet 服务器IP 5901
# 或
nc -vz 服务器IP 5901
设置密码:
vncpasswd
| 现象 | 可能原因 |
|---|---|
| 连不上 | 服务未起 / 防火墙 / 安全组 |
| 黑屏 | 桌面环境未安装 |
| 闪退 | SELinux / 权限 |
| 认证失败 | vncpasswd 未设置 |
| 启动失败 | 日志报错、home 权限 |
如果你愿意,可以把 具体现象 + 报错日志 发出来(比如 journalctl 或 ~/.vnc/*.log),我可以直接帮你定位是哪一步的问题。