View a markdown version of this page

在控制台会话中使用 Xdcv - Amazon DCV

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在控制台会话中使用 Xdcv

Amazon DCV 提供两种类型的会话:主机会话和虚拟会话。

通过虚拟会话,Amazon DCV 会启动一个专用 X 服务器实例 Xdcv,并在其中运行桌面环境。Amazon DCV 为每个虚拟会话启动一个新的 Xdcv 实例,并且每个虚拟会话都使用自己的 X 服务器实例提供的显示屏。Xdcv 二进制文件由软件包提供。nice-xdcv

通过控制台会话,Amazon DCV 可以直接捕获桌面屏幕的内容,在 Linux 上,桌面屏幕通常由系统的 X 服务器 (Xorg) 呈现。也可以将控制台会话配置为由 Xdcv 代替 Xorg 提供服务。这提供了动态调整大小和多显示器,而无需在中配置细节。xorg.conf

本主题介绍如何在 Ubuntu、 RHEL/Rocky Linux/CentOS Stream 和 Amazon Linux 2023 上进行切换。

重要

此配置仅适用于非 GPU 主机。在带有 GPU 的实例上应用这些步骤将破坏 GPU-accelerated 显示管道。

注意

这些说明假设您的系统使用 GDM(GNOME 显示管理器)。如果您使用其他显示管理器,例如 Lightdm 或 SDDM,请相应地调整命令。systemctl restart

先决条件

在为您的发行版运行命令之前,请确认以下内容:

  • nice-xdcv软件包已安装,Xdcv-console二进制文件位于/usr/bin/Xdcv-console

  • 您拥有 root 权限(sudo在适当的情况下使用)。

注意

配置完成后,下次登录控制台时将启动会 Xdcv-backed 话,而不是标准的 Xorg 会话。

Ubuntu

在Ubuntu上,切换是通过将原始的Xorg二进制文件转移到外面并通过符号链接指向/usr/bin/Xorg来执行的。Xdcv-console

$ dpkg-divert --package nice-xdcv --divert /usr/bin/Xorg.orig --rename /usr/bin/Xorg $ ln -sf /usr/bin/Xdcv-console /usr/bin/Xorg $ sudo systemctl restart gdm
每条命令的用途
dpkg-divert

告诉 dpkg 该nice-xdcv软件包拥有该路径,/usr/bin/Xorg并将现有的 Xorg 二进制文件重命名为。/usr/bin/Xorg.orig这样可以保留原始二进制文件,并防止 future Xorg 包升级覆盖您的自定义。

ln -sf

创建或替换符号链接,以便任何正在调用的进程都能/usr/bin/Xorg实际运行/usr/bin/Xdcv-console

systemctl restart gdm

重新启动 GNOME 显示管理器,使更改生效。这会终止主机上的任何活动图形会话,因此请在没有人登录控制台时运行它。

RHEL /Rocky Linux /CentOS Stream

在 RHEL-family 发行版中,该nice-xdcv软件包提供了两个以声明方式处理开关的 systemd 单元。

$ systemctl enable --now xdcv-console-update.service $ systemctl enable xdcv-console.path $ sudo systemctl restart gdm
每条命令的用途
xdcv-console-update.service

协调系统以用于控制台会话Xdcv-console的单元。使用启用它会立即将其--now激活,并使其在后续启动时启动。

xdcv-console.path

一种基于路径的单元,它会监视磁盘上的相关文件,并在软件包升级后 X 服务器配置发生更改时重新触发更新服务。启用它可确保自动重新应用 Xdcv 配置,而不是静默恢复。

systemctl restart gdm

重新启动 GNOME 显示管理器,使更改生效。这会终止主机上的任何活动图形会话,因此请在没有人登录控制台时运行它。

Amazon Linux 2023

亚马逊 Linux 2023 使用该update-alternatives系统来管理提供哪些二进制文件/usr/bin/X

$ update-alternatives --install /usr/bin/X xdcv /usr/bin/Xdcv-console 11 $ sudo update-alternatives --set X /usr/bin/Xdcv-console $ sudo systemctl restart gdm
每条命令的用途
update-alternatives --install

登记Xdcv-consoleX备选方案的候选人,优先级为11。只有当备选方案处于自动模式时,优先级才重要;下一个命令会覆盖该模式。

update-alternatives --set X

Xdcv-console显式固定X到,因此以后不会被优先级较高的候选人所取代。

systemctl restart gdm

重新启动 GNOME 显示管理器,使更改生效。这会终止主机上的任何活动图形会话,因此请在没有人登录控制台时运行它。

验证配置

应用分发步骤后,确认 X 服务器路径现在解析为Xdcv-console

$ ls -l /usr/bin/Xorg # Ubuntu $ ls -lh /usr/bin/X # RHEL/Rocky Linux/CentOS Stream $ ls -l /etc/alternatives/X # Amazon Linux 2023

然后启动控制台会话并检查它是否按预期启动。如果显示管理器无法启动,请先通过 SSH 登录进行故障排除,然后再尝试其他图形登录。

正在恢复

如果你需要恢复到普通的 X 服务器,请执行以下操作:

  • Ubuntu:删除符号链接,然后运行恢复原始二dpkg-divert --package nice-xdcv --rename --remove /usr/bin/Xorg进制文件。

  • RHEL/Rocky: systemctl disable --now xdcv-console.path xdcv-console-update.service.

  • 亚马逊 Linux 2023:update-alternatives --remove X /usr/bin/Xdcv-console,然后重启 gdm。