下面以 CentOS 7 / CentOS 8 为例,说明如何配置 VNC 服务(以 TigerVNC 为例)。
# CentOS 7
yum install -y tigervnc-server
# CentOS 8
dnf install -y tigervnc-server
如果你不想用 root 登录 VNC,可以新建用户:
useradd vncuser
passwd vncuser
切换到对应用户:
su - vncuser
vncpasswd
输入两次密码,是否设置只读密码可选
复制服务模板:
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
编辑配置文件:
vi /etc/systemd/system/vncserver@:1.service
修改 <USER> 为你的用户,例如 vncuser:
[Service]
Type=forking
User=vncuser
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i
重新加载 systemd:
systemctl daemon-reload
启动并设置开机自启:
systemctl start vncserver@:1
systemctl enable vncserver@:1
CentOS 8 通常不使用 @.service,直接运行:
vncserver :1
开机自启可加:
echo "vncserver :1" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
VNC 默认端口:
:1 → 5901:2 → 5902firewall-cmd --add-port=5901/tcp --permanent
firewall-cmd --reload
如果连接后黑屏,通常是没装桌面:
# GNOME
yum groupinstall -y "GNOME Desktop"
或
dnf groupinstall -y "Server with GUI"
修改 ~/.vnc/xstartup:
#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
或 GNOME:
exec gnome-session
赋予执行权限:
chmod +x ~/.vnc/xstartup
重启 VNC:
vncserver -kill :1
vncserver :1
使用 VNC Viewer:
服务器IP:1
或
服务器IP:5901
✅ 黑屏
→ 检查桌面环境 & xstartup
✅ 连不上
→ 检查防火墙、SELinux
setenforce 0
✅ 多用户
→ 使用 :2 :3 并配置不同用户
如果你需要 root 登录 VNC 或 x11vnc / RealVNC 配置,也可以告诉我。