CentOS 下 VNC 无法登录是比较常见的问题,原因通常集中在服务未启动、配置错误、防火墙/SELinux、用户会话问题等。下面按常见原因逐一排查。
systemctl status vncserver@:1.service
或(老版本)
service vncserver status
systemctl start vncserver@:1.service
systemctl enable vncserver@:1.service
注意:CentOS 7/8 通常使用
vncserver@:N.service单元
cat ~/.vnc/xstartup
常见正确示例(GNOME):
#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
或
gnome-session &
chmod +x ~/.vnc/xstartup
:1 → 5901:2 → 5902firewall-cmd --list-all
开放端口:
firewall-cmd --add-port=5901/tcp --permanent
firewall-cmd --reload
setenforce 0
如果能登录,说明是 SELinux 问题。
setsebool -P vnc_connect_status 1
或
vi /etc/selinux/config
SELINUX=permissive
vncpasswd
确保不是空密码(某些版本不允许)
cat /etc/tigervnc/vncserver.users
或
cat /etc/sysconfig/vncservers
示例:
:1=root
:2=testuser
rpm -qa | grep gnome
安装桌面:
yum groupinstall "GNOME Desktop"
cat ~/.vnc/*.log
常见错误:
connection refused → 服务没起permission denied → 权限/SELinuxno screen found → xstartup 错误192.168.1.10:1)如果你方便,可以贴出:
~/.vnc/*.log 报错内容我可以直接帮你定位具体原因。