documentation.suse.com / 在 SUSE Linux Enterprise Server 16.0 上配置远程桌面服务器
SUSE Linux Enterprise Server 16.0

SUSE Linux Enterprise Server 16.0 上配置远程桌面服务器

出版日期:2025 年 11 月 04 日
内容

本文介绍如何在 SUSE Linux Enterprise Server 上设置 GNOME 远程登录桌面服务器。

原因

远程桌面服务器即使没有专用图形硬件,也能承载多个用户的访问。

工作量

配置过程需要 5 分钟时间。

目标

学习如何设置支持多用户访问的远程登录桌面服务器。

要求
  • 已安装 GNOME 且用作远程桌面服务器的系统

  • 一个或多个可通过 RDP 查看器访问服务器的客户端

1 GNOME 远程桌面是什么?

GNOME 远程桌面支持三种运行模式:远程协助远程桌面服务器、单用户远程桌面服务器和远程登录桌面服务器。该功能甚至支持无外设运行模式,即服务器无需配备图形处理器 (GPU)。这一特性对服务器而言尤为实用 - 性能强大的系统无需图形硬件即可为多个用户提供服务。

GNOME 远程桌面包含两种协议后端:RDP 和 VNC。并非所有运行模式都支持所有协议后端。

2 配置 GNOME 远程桌面

本章介绍如何配置 GNOME 远程桌面,使其与 GNOME 显示管理器 (GDM) 集成。

2.1 简介

GNOME 远程桌面支持与 GNOME 显示管理器集成,以实现远程登录功能。其工作原理为:远程用户首先通过系统级身份凭证进行身份验证,访问图形登录界面,随后使用个人用户身份凭证登录系统。

2.2 要求

  • 安装了 GNOME 桌面环境且用作服务器的 SUSE Linux Enterprise 系统。在安装系统时,您可以通过软件 › 修改选择 › GNOME 桌面环境 (Wayland) 选择 GNOME。对于已运行的系统,可通过命令 zypper in -t pattern gnome 安装 GNOME。

  • 一个或多个客户端,客户端需安装 gnome-connectionsremmina 或其他支持 RDP 协议的查看器。

2.3 配置

以下过程介绍如何配置 GNOME 远程桌面,使其与 GNOME 显示管理器集成。

过程 1︰ 配置 GNOME 远程桌面
  1. 创建用于存储 TLS 加密密钥和证书的目录:

    > sudo -u gnome-remote-desktop mkdir -p ~/.local/share/gnome-remote-desktop/

    安装 gnome-remote-desktop 软件包时,会自动创建 gnome-remote-desktop 用户。其 home 目录为 /var/lib/gnome-remote-desktop

  2. 生成用于加密的 TLS 密钥和证书,具体有以下两种方式:

    • 通过 openssl 生成。要生成一个 4096 位且有效期为 365 天的 RSA 密钥,请运行以下命令:

      > sudo -u gnome-remote-desktop openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj \
        /C=COUNTRY_CODE/ST=STATE/L=LOCALITY/O=ORGANIZATION/CN=example.net \
        -out ~/.local/share/gnome-remote-desktop/tls.crt \
        -keyout ~/.local/share/gnome-remote-desktop/tls.key

      请替换命令中的国家代码、州省、城市、组织和通用名称,或省略不需要的参数。国家代码需使用 ISO 3166-1 alpha-2 两位代码,相关信息可从 https://www.iso.org/obp/ui/#search/code/ 上查询。

    • 如果希望通过交互式命令引导证书生成流程,可使用 gnutls 软件包中的 certtool 工具:

      > sudo zypper in gnutls
      > sudo -u gnome-remote-desktop certtool --generate-privkey --outfile ~/.local/share/gnome-remote-desktop/tls.key> sudo -u gnome-remote-desktop certtool --generate-self-signed --load-privkey  ~/.local/share/gnome-remote-desktop/tls.key
  3. 使用 grdctl 配置 GNOME 远程桌面。

    1. 为 GNOME 远程桌面配置加密:

      > sudo grdctl --system rdp set-tls-key ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.key> sudo grdctl --system rdp set-tls-cert ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.crt
    2. 设置用于通过 RDP 访问登录管理器的系统身份凭证:

      > sudo grdctl --system rdp set-credentials

      此处的用户名和口令组合与个人用户身份凭证不同。所有用户均需使用此 RDP 系统身份凭证访问 GNOME 显示管理器,再通过个人用户身份凭证登录。

    3. 启用 RDP 协议:

      > sudo grdctl --system rdp enable
  4. 启用并启动 GNOME 远程桌面服务:

    > sudo systemctl enable --now gnome-remote-desktop.service
  5. 开放防火墙默认 RDP 端口的连接权限:

    > sudo firewall-cmd --permanent --add-service=rdp
    > sudo firewall-cmd --reload

2.4 总结

至此,GNOME 远程桌面服务器已配置完毕。可通过 gnome-connectionsremmina 或其他支持 RDP 协议的查看器连接该系统。

2.5 查错

如果连接远程桌面服务器时遇到问题,可按以下步骤进行查错。

  1. 如果能连接到 GNOME 显示管理器,但无法以用户身份登录,可尝试通过 ssh 连接以验证用户口令是否正确。

  2. 如果能连接到远程桌面服务器,但 GNOME 远程桌面不接受 RDP 连接的系统身份凭证,则可能是因为在服务已运行时配置了身份凭证。需重启服务以应用更改:

    > sudo systemctl restart gnome-remote-desktop.service
  3. 如果 RDP 系统身份凭证仍不被接受,可重置身份凭证:

    > sudo grdctl --system rdp clear-credentials
    > sudo grdctl --system rdp set-credentials
    > sudo systemctl restart gnome-remote-desktop.service
  4. 如果使用 RDP 查看器无法连接到远程桌面服务器,请检查 gnome-remote-desktop 服务是否正在运行:

    > sudo systemctl status gnome-remote-desktop
    • 如果服务未运行,则启动该服务:

      > sudo systemctl start gnome-remote-desktop.service
    • 如果 systemd 提示 gnome-remote-desktop.service 的配置已更改,需让 systemd 重新加载配置并重启服务:

      > sudo systemctl daemon-reload
      > sudo systemctl restart gnome-remote-desktop.service
  5. 检查 GNOME 显示管理器是否正在运行:

    > sudo systemctl status display-manager.service

    如果出现警告信息,则重启显示管理器:

    > sudo systemctl restart display-manager.service
  6. 检查 gnome-remote-desktop 是否在默认 RDP 端口 3389 上侦听:

    > sudo ss -tulnp | grep :3389
  7. 检查防火墙端口是否已开放:

    > sudo firewall-cmd --query-service=rdp
  8. 检查客户端是否能连接到远程桌面服务器。

    1. 如果通过主机名连接服务器,检查客户端是否能正确解析该主机名:

      > hostSERVER_HOST_NAME

      如果无法解析服务器主机名,尝试通过 IP 地址连接。

    2. 如果 RDP 查看器无法通过 IP 地址连接远程桌面服务器,尝试 ping 服务器:

      > ping -c 5 SERVER_IP

      如果能 ping 通 IP 地址,尝试通过该 IP 地址连接远程桌面服务器。如果无法 ping 通,则检查网络设置。

3 更多信息

  • 更多配置示例可参考 GNOME 远程桌面的 README 文件。安装 gnome-remote-desktop 软件包后,该文件位于 /usr/share/doc/packages/gnome-remote-desktop/README.md。也可通过以下链接在线访问该文件:https://github.com/GNOME/gnome-remote-desktop/blob/master/README.md

  • grdctl 的完整选项列表可通过 man 1 grdctl 命令查看。