11.3. 在服务器上启用多用户 VNC 访问

此流程配置 RHEL 服务器,以便多个用户可以同时在其上打开 VNC 会话。

先决条件

  • 如果您之前使用 systemd 单元文件配置了 VNC,请删除所有过时的 VNC 配置:

    [root]# rm /etc/systemd/system/vncserver@.service

流程

  1. 将用户映射到显示号和端口号。

    /etc/tigervnc/vncserver.users 配置文件中,为每个要导出 VNC 会话的服务器用户添加一行:

    :user-number=user-name
    • 使用映射到所选现有用户的端口号和显示号替换 user-number
    • 使用所选现有用户的用户名替换 user-name

    例如:

    :2=vncuser
  2. 在防火墙中打开 5900 到 5903 的 TCP 端口:

    [root]# firewall-cmd --permanent --add-service=vnc-server
  3. 重新载入防火墙规则:

    [root]# firewall-cmd --reload
  4. /etc/tigervnc/vncserver-config-defaults 配置文件中添加以下行:

    session=gnome
    alwaysshared

    这个配置有以下影响:

    • 当远程用户登录时,VNC 服务器会启动 GNOME 会话。
    • 多个用户可以同时连接到 VNC 服务器。
  5. 作为导出 VNC 会话的每个服务器用户,为用户设置 VNC 密码:

    [regular-user]$ vncpasswd

    在连接到服务器上的桌面时,远程客户端必须输入此密码。

  6. 如果您之前为用户配置了 VNC,请确保配置文件具有正确的 SELinux 上下文:

    [regular-user]$ restorecon -RFv ~/.vnc
  7. 为常规用户启用并启动 VNC 服务器单元:

    [root]# systemctl enable --now vncserver@:user-number
  8. 如果服务器使用专有 Nvidia 驱动程序,请禁用 Wayland:

    1. 取消 /etc/gdm/custom.conf 配置文件中 WaylandEnable=False 行的注释。
    2. DefaultSession=gnome-xorg.desktop 选项添加到配置文件的 [daemon] 部分。
    3. 重启服务器。

其他资源