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 | sudo su - devops |
系统会提示输入访问密码(默认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 | sudo systemctl daemon-reload |
检查状态:
1 | sudo systemctl status vncserver@:1.service |
六、开放防火墙端口
默认 VNC 监听在 5900 + display_number,即 5901:
1 | sudo firewall-cmd --permanent --add-port=5901/tcp |
七、客户端连接
使用任意 VNC Viewer(如 RealVNC、TigerVNC Viewer、Remmina 等):
<服务器IP>:5901
或
<服务器IP>:1
输入刚才设置的密码即可。
八、附加说明
8.1自定义桌面启动
默认 VNC 启动 GNOME,可通过 ~/.vnc/xstartup 修改:
1 |
|
或者使用 Xfce:
1 |
|
然后给执行权限:
1 | chmod +x ~/.vnc/xstartup |
九、常见问题
| 问题 | 解决 |
|---|---|
| 无法连接或黑屏 | 确认桌面环境安装完整,检查 SELinux / 防火墙 |
| VNC 自动退出 | 检查 ~/.vnc/*.log 日志 |
| 需要多用户 | 为每个用户复制一个 vncserver@:N.service 并修改 User |