在 CentOS 上开启 VNC(以常用的 TigerVNC 为例,适用于 CentOS 7 / 8 / Stream),步骤如下:
# CentOS 7/8
yum install -y tigervnc-server tigervnc
# CentOS Stream 9
dnf install -y tigervnc-server
vncpasswd
按提示输入密码(用于 VNC 连接)
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
vi /etc/systemd/system/vncserver@:1.service
找到这一行:
ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
改成(如用 root):
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
systemctl daemon-reload
systemctl start vncserver@:1
systemctl enable vncserver@:1
默认端口:5901(:1)
firewall-cmd --permanent --add-port=5901/tcp
firewall-cmd --reload
使用 VNC Viewer:
服务器IP:5901
输入前面设置的密码即可。
✅ 黑屏 / 无法显示桌面
编辑 ~/.vnc/xstartup,加入:
#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
然后:
chmod +x ~/.vnc/xstartup
systemctl restart vncserver@:1
✅ 想用普通用户
把 root 换成你的用户名,并确保该用户已 vncpasswd
如果你说的是 CentOS 哪个版本 / 云服务器 / 无桌面环境,我可以给你更精确的配置。