在 CentOS(7/8/Stream) 上通过 VNC 远程桌面,常见做法如下(以 TigerVNC 为例,最常用、稳定)。
yum groupinstall "GNOME Desktop" -y
dnf groupinstall "Server with GUI" -y
设置默认启动图形界面:
systemctl set-default graphical.target
reboot
# CentOS 7
yum install tigervnc-server -y
# CentOS 8 / Stream
dnf install tigervnc-server -y
su - username
vncpasswd
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
vi /etc/systemd/system/vncserver@:1.service
修改 <USER> 为你的用户名,例如:
ExecStart=/usr/bin/vncserver -geometry 1920x1080 -depth 24 :1
或(新版本):
ExecStart=/usr/sbin/runuser -l username -c "/usr/bin/vncserver %i"
systemctl daemon-reload
systemctl start vncserver@:1
systemctl enable vncserver@:1
查看状态:
systemctl status vncserver@:1
VNC 默认端口:
:1 → 5901:2 → 5902firewall-cmd --add-port=5901/tcp --permanent
firewall-cmd --reload
使用:
连接地址:
服务器IP:1
或
服务器IP:5901
输入 VNC 密码即可。
vi ~/.vnc/xstartup
确保内容如下(GNOME):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec gnome-session &
赋予执行权限:
chmod +x ~/.vnc/xstartup
重启 VNC:
vncserver -kill :1
vncserver :1
✅ 不要直接暴露 5901 到公网
推荐方式:
ssh -L 5901:localhost:5901 user@server_ip
然后本地连接:
localhost:1
✅ 安装桌面
✅ 安装 TigerVNC
✅ 配置用户 + 密码
✅ 启动 VNC 服务
✅ 防火墙放行
✅ SSH 隧道更安全
如果你告诉我:
我可以给你 更精确的配置方案 ✅