Rocky Linux(基于 RHEL 的发行版)上配置 VNC Server图形方式远程访问

一、安装桌面环境

Rocky 默认是最小化安装,需要先安装图形桌面环境(如 GNOME)。

1
sudo dnf groupinstall "Server with GUI" -y

若想安装轻量环境,可用:

1
sudo dnf groupinstall "Xfce" -y

二、安装 VNC Server

推荐使用 TigerVNC(Red Hat 官方支持)。

1
sudo dnf install tigervnc-server -y

三、配置 VNC 服务用户

假设你希望 root 或某个普通用户(如 devops)使用 VNC:

3.1为目标用户设置 VNC 密码

1
2
sudo su - devops
vncpasswd

系统会提示输入访问密码(默认6-8位字符),此密码保存在 ~/.vnc/passwd


四、创建 VNC 配置

每个用户的 VNC 实例由 systemd 管理。
创建配置文件:

1
sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

:1 表示显示号(对应 TCP 端口 5901)。
若需要多个用户可用 :2(5902)等。

编辑文件 /etc/systemd/system/vncserver@:1.service

1
sudo vim /etc/systemd/system/vncserver@:1.service

找到以下行:

ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i

改为:

ExecStart=/usr/bin/vncserver %i -geometry 1920x1080 -localhost no
ExecStop=/usr/bin/vncserver -kill %i

并修改用户名:

[Service]
User=devops

五、重载 systemd 并启用服务

1
2
3
sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service

检查状态:

1
sudo systemctl status vncserver@:1.service

六、开放防火墙端口

默认 VNC 监听在 5900 + display_number,即 5901

1
2
sudo firewall-cmd --permanent --add-port=5901/tcp
sudo firewall-cmd --reload

七、客户端连接

使用任意 VNC Viewer(如 RealVNC、TigerVNC Viewer、Remmina 等):

<服务器IP>:5901

<服务器IP>:1

输入刚才设置的密码即可。


八、附加说明

8.1自定义桌面启动

默认 VNC 启动 GNOME,可通过 ~/.vnc/xstartup 修改:

1
2
3
4
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec gnome-session &

或者使用 Xfce:

1
2
#!/bin/sh
startxfce4 &

然后给执行权限:

1
chmod +x ~/.vnc/xstartup

九、常见问题

问题 解决
无法连接或黑屏 确认桌面环境安装完整,检查 SELinux / 防火墙
VNC 自动退出 检查 ~/.vnc/*.log 日志
需要多用户 为每个用户复制一个 vncserver@:N.service 并修改 User