Linux NICE DCV 服务器的先决条件 - NICE DCV
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Linux NICE DCV 服务器的先决条件

NICE DCV 允许客户端访问 Linux 服务器(提供对相应 Linux 桌面的访问)上的远程图形 X 会话。NICE DCV 支持两种类型的 Linux 桌面流:控制台会话和虚拟会话。有关控制台和虚拟会话的更多信息,请参阅管理 NICE DCV 会话

本主题介绍如何在 Linux 服务器上安装使用 NICE DCV 所需的先决条件。

安装桌面环境和桌面管理器

为帮助提高使用 Linux 服务器上的 NICE DCV 体验,您可以安装一个桌面环境和桌面管理器。

桌面环境是一个图形用户界面 (GUI),有助于您与 Linux 操作系统交互。桌面环境有很多,NICE DCV 可与其中的大部分协作。桌面管理器是管理用户登录屏幕、启动和停止桌面环境会话和 X 服务器的项目。

以下选项卡式内容显示了在支持的操作系统上安装默认桌面环境和桌面管理器的步骤。

RHEL 7.x/8.x and CentOS 7.x/8.x

RHEL 7.x/8.x 和 CentOS 7.xx 的默认桌面环境是 Gnome3,默认桌面管理器是 GDM。

在 RHEL 7.x/8.x 和 CentOS 7.xx 上安装和配置桌面环境和桌面管理器

  1. 安装桌面环境和桌面管理器程序包

    • 7.x/8.x 和 CentOS 8.x

      $ sudo yum groupinstall 'Server with GUI'
    • CentOS 7.x

      $ sudo yum groupinstall "GNOME Desktop"
  2. 更新软件包来确保 Linux 服务器是最新的。

    $ sudo yum upgrade
  3. 重新启动 Linux 服务器。

    $ sudo reboot
Amazon Linux 2

Amazon Linux 2 的默认桌面环境是 Gnome3,默认桌面管理器是 GDM。

在 Amazon Linux 2 上安装和配置桌面环境和桌面管理器

  1. 安装桌面环境和桌面管理器程序包

    $ sudo yum install gdm gnome-session gnome-classic-session gnome-session-xsession
    $ sudo yum install xorg-x11-server-Xorg xorg-x11-fonts-Type1 xorg-x11-drivers
    $ sudo yum install gnome-terminal gnu-free-fonts-common gnu-free-mono-fonts gnu-free-sans-fonts gnu-free-serif-fonts
  2. 更新软件包来确保 Linux 服务器是最新的。

    $ sudo yum upgrade
  3. 重新启动 Linux 服务器。

    $ sudo reboot
Ubuntu 18.x

对于 Ubuntu 18.x,默认桌面环境是 Gnome3,默认桌面管理器是 GDM3。在 Ubuntu 18.x 中,NICE DCV 控制台会话当前不支持 GDM3。因此,如果您打算使用 NICE DCV 控制台会话,则建议您采用 LightDM 桌面管理器。

在 Ubuntu 18.x 上安装和配置桌面环境和桌面管理器

  1. 安装桌面环境和桌面管理器程序包

    $ sudo apt update
    $ sudo apt install ubuntu-desktop

    安装 LightDM。

    $ sudo apt install lightdm
  2. 更新软件包来确保 Linux 服务器是最新的。

    $ sudo apt upgrade
  3. 重新启动 Linux 服务器。

    $ sudo reboot
Ubuntu 20.x

对于 Ubuntu 20.x,默认桌面环境是 Gnome3,默认桌面管理器是 GDM3。根据需要运行的会话类型,您可能需要以不同的方式配置系统。

  • 控制台会话

    LightDM 目前不支持 Ubuntu 20.x 上的 NICE DCV 控制台会话。如果您打算使用 NICE DCV 控制台会话,则建议您采用 GDM3 桌面管理器。

  • 虚拟会话

    由于已知的 GDM 问题,虚拟会话无法与 Ubuntu 20.x 上的 GDM3 一起工作。要使虚拟会话正常工作,可以采用以下解决方案之一:

    • 在没有 GPU 的服务器上,则可以禁用桌面管理器,因为运行虚拟会话不需要它。通过在创建虚拟会话之前运行以下命令,将系统配置为以多用户模式运行:

      sudo systemctl isolate multi-user.target
    • 在具有 GPU 的服务器上,除了禁用桌面管理器之外,您还需要在系统上启动 X 服务器,然后再创建虚拟会话。为此,请运行以下命令:

      sudo systemctl isolate multi-user.target
      sudo dcvstartx &

在 Ubuntu 20.x 上安装和配置桌面环境和桌面管理器

  1. 安装桌面环境和桌面管理器程序包

    $ sudo apt update
    $ sudo apt install ubuntu-desktop

    安装 GDM3 (仅适用于控制台会话

    $ sudo apt install gdm3
  2. 如果您使用 GDM3,请验证 GDM3 是否设置为默认桌面管理器。

    $ cat /etc/X11/default-display-manager

    预期输出

    /usr/sbin/gdm3

    如果 GDM3 未设置为默认桌面管理器,请使用以下命令将其设置为默认值。

    $ sudo dpkg-reconfigure gdm3
  3. 更新软件包来确保 Linux 服务器是最新的。

    $ sudo apt upgrade
  4. 重新启动 Linux 服务器。

    $ sudo reboot
SUSE Linux Enterprise 12.x

SUSE Linux Enterprise 12.x 的默认桌面环境是 SLE Classic,默认桌面管理器是 GDM。

在 SUSE Linux Enterprise 12.x 上安装和配置桌面环境和桌面管理器

  1. 安装桌面环境和桌面管理器程序包

    $ sudo zypper install -t pattern gnome_basic
    $ sudo update-alternatives --set default-displaymanager /usr/lib/X11/displaymanagers/gdm
    $ sudo sed -i "s/DEFAULT_WM=\"\"/DEFAULT_WM=\"gnome\"/" /etc/sysconfig/windowmanager
  2. 更新软件包来确保 Linux 服务器是最新的。

    $ sudo zypper update
  3. 重新启动 Linux 服务器。

    $ sudo reboot
SUSE Linux Enterprise 15.x

SUSE Linux Enterprise 15.x 的默认桌面环境是 SLE Classic,默认桌面管理器是 GDM3。根据需要运行的会话类型,您可能需要以不同的方式配置系统。

  • 控制台会话

    LightDM 目前不支持 SUSE Linux 企业 15.x 上的 NICE DCV 控制台会话。如果您打算使用 NICE DCV 控制台会话,则建议您采用 GDM3 桌面管理器。

  • 虚拟会话

    由于已知的 GDM 问题,虚拟会话无法在 SUSE Linux 企业版 15.x 上工作。要使虚拟会话正常工作,可以采用以下解决方案之一:

    • 在没有 GPU 的服务器上,则可以禁用桌面管理器,因为运行虚拟会话不需要它。通过在创建虚拟会话之前运行以下命令,将系统配置为以多用户模式运行:

      sudo systemctl isolate multi-user.target
    • 在具有 GPU 的服务器上,除了禁用桌面管理器之外,您还需要在系统上启动 X 服务器,然后再创建虚拟会话。为此,请运行以下命令:

      sudo systemctl isolate multi-user.target
      sudo dcvstartx &

在 SUSE Linux Enterprise 15.x 上安装和配置桌面环境和桌面管理器

  1. 安装桌面环境和桌面管理器程序包

    $ sudo zypper install -t pattern gnome_basic
    $ sudo update-alternatives --set default-displaymanager /usr/lib/X11/displaymanagers/gdm
    $ sudo sed -i "s/DEFAULT_WM=\"\"/DEFAULT_WM=\"gnome\"/" /etc/sysconfig/windowmanager
  2. 更新软件包来确保 Linux 服务器是最新的。

    $ sudo zypper update
  3. 重新启动 Linux 服务器。

    $ sudo reboot

禁用韦兰协议(仅限 GDM3)

NICE DCV 不支持韦兰协议。如果您使用的是 GDM3 桌面管理器,则必须禁用 Wayland 协议。如果未使用 GDM3,请跳过此步骤。

禁用 Wayland 协议

  1. 使用首选文本编辑器打开以下文件。

    • RHEL 8.x、CentOS 8.x 和 SUSE Linux Enterprise 15.x

      /etc/gdm/custom.conf
    • Ubuntu 20.x

      /etc/gdm3/custom.conf
  2. [daemon]部分,将WaylandEnablefalse

    [daemon] WaylandEnable=false
  3. 重新启动 GDM 服务。

    • HEL 8.x 和 CentOS 8.x

      $ sudo systemctl restart gdm
    • Ubuntu 20.x

      $ sudo systemctl restart gdm3
    • SUSE Linux Enterprise 15.x

      $ sudo systemctl restart xdm

配置 X 服务器

如果要使用控制台会话或 GPU 共享,则必须确保 Linux 服务器具有一个配置正确且正在运行的 X 服务器。

注意

如果要使用不带 GPU 共享的虚拟会话,则不需要 X 服务器。

X 服务器程序包通常作为桌面环境和桌面管理器的依赖项安装。我们建议您将 X 服务器配置为当 Linux 服务器启动时自动启动。

以下选项卡式内容说明了如何在支持的操作系统上配置和启动 X 服务器。

RHEL 7.x/8.x, CentOS 7.x/8.x, Amazon Linux 2, Ubuntu 18.x/20.x, and SUSE Linux Enterprise 12.x/15.x

在 RHEL 7.x/8.x、CentOS 7.x/8.x、CentOS 7.x/8.x、Amazon Linux 2、Ubuntu 18.x/20.x 和 SUSE Linux Enterprise 12.x/15.x 上配置和启动 X 服务器

  1. 将 X 服务器配置为当 Linux 服务器启动时自动启动。

    $ sudo systemctl get-default

    如果命令返回 graphical.target,则表明 X 服务器已配置为自动启动。继续下一步。

    如果命令返回 multi-user.target,则表明 X 服务器未配置为自动启动。运行以下命令:

    $ sudo systemctl set-default graphical.target
  2. 启动 X 服务器。

    $ sudo systemctl isolate graphical.target
  3. 验证 X 服务器是否正在运行。

    $ ps aux | grep X | grep -v grep

    下面显示 X 服务器在运行时的示例输出。

    root 1891 0.0 0.7 277528 30448 tty7 Ssl+ 10:59 0:00 /usr/bin/Xorg :0 -background none -verbose -auth /run/gdm/auth-for-gdm-wltseN/database -seat seat0 vt7

安装 glxinfo 实用程序。

glxinfo 实用程序提供关于您的 Linux 服务器的 OpenGL 配置的信息。可根据它来确定您的 Linux 服务器是否配置为支持 OpenGL 硬件或软件渲染,以及获得有关驱动程序和支持的扩展的信息。

glxinfo 实用程序作为 DCV GL 的程序包依赖项安装。因此,如果您安装了 DCV GL,则 glxinfo 实用程序已随之安装在您的 Linux 服务器上。

安装 glxinfo 实用程序

运行以下命令:

  • RHEL 7.x/8.x、CentOs 7.x/8.x 和 Amazon Linux 2

    $ sudo yum install glx-utils
  • Ubuntu 18.x/20.x

    $ sudo apt install mesa-utils
  • SUSE Linux Enterprise 12.x/15.x

    $ sudo zypper in Mesa-demo-x

验证 OpenGL 软件渲染

在非 GPU 的 Linux 服务器上,仅在软件渲染模式下使用 Mesa 驱动程序支持 OpenGL。如果您使用非 GPU 的 Linux 服务器,并且打算使用 OpenGL,请确保 Mesa 驱动程序已安装在 Linux 服务器上并正确配置。

注意

这仅适用于非 GPU 的 Linux 服务器。

验证 OpenGL 软件渲染是否可用

确保 X 服务器正在运行,并使用以下命令。

$ sudo DISPLAY=:0 XAUTHORITY=$(ps aux | grep "X.*\-auth" | grep -v grep | sed -n 's/.*-auth \([^ ]\+\).*/\1/p') glxinfo | grep -i "opengl.*version"

下面显示了 OpenGL 软件渲染可用时的示例输出:

OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.0.5 OpenGL core profile shading language version string: 3.30 OpenGL version string: 3.0 Mesa 17.0.5 OpenGL shading language version string: 1.30 OpenGL ES profile version string: OpenGL ES 3.0 Mesa 17.0.5 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

为图形实例安装 GPU 驱动程序

安装和配置 NVIDIA 驱动程序

对于拥有专用 NVIDIA GPU 的 Linux 服务器,必须确保相应的 NVIDIA 驱动程序已安装且正确配置。有关在 Amazon EC2 Linux 实例上安装 NVIDIA 驱动程序的更多信息,请参阅在 Linux 服务器上安装 NVIDIA 驱动程序中的适用于 Linux 实例的 Amazon EC2 用户指南

注意
  • 这仅适用于拥有 NVIDIA GPU 的 Linux 服务器。

  • GRID 驱动程序支持每个 GPU 最多四个 4K 显示器,而游戏驱动程序支持每个 GPU 一个 4K 显示器。

在 Linux 服务器上安装了 NVIDIA 驱动程序后,必须更新xorg.conf

生成更新的 xorg.conf

  1. 运行以下命令。

    sudo nvidia-xconfig --preserve-busid --enable-all-gpus

    如果您使用的是 G3 或 G4 Amazon EC2 实例,并且要使用多显示器控制台会话,请包含--connected-monitor=DFP-0,DFP-1,DFP-2,DFP-3参数,如下所示。

    sudo nvidia-xconfig --preserve-busid --enable-all-gpus --connected-monitor=DFP-0,DFP-1,DFP-2,DFP-3
    注意

    确保您的服务器没有旧 /etc/X11/XF86Config 文件。如果服务器具有该文件,则 nvidia-xconfig 将更新该配置文件,而不是生成所需的 /etc/X11/xorg.conf 文件。运行以下命令可删除旧 XF86Config 文件:

    sudo rm -rf /etc/X11/XF86Config*
  2. 重新启动 X 服务器以使更改生效。

    • RHEL 7.x、CentOs 7.x、Amazon Linux 2、Ubuntu 18.x 和 SUSE Linux Enterprise 12.x

      $ sudo systemctl isolate multi-user.target
      $ sudo systemctl isolate graphical.target

验证您的 NVIDIA GPU 是否支持基于硬件的视频编码

您必须确保它支持 NVENC 编码,并且它具有 >= 3.0 或 >= 3.5 对于 Ubuntu 20 的计算能力。

要验证 NVENC 支持,请参阅NVIDIA 视频编码和解码 GPU Support 列表。要检查计算能力,请参阅NVIDIA 计算容量表。

如果您的 NVIDIA GPU 不支持 NVENC 编码,或者它不具备所需的计算功能,则使用基于软件的视频编码。

验证 OpenGL 硬件渲染是否可用

使用以下命令可确保 X 服务器正在运行。

$ sudo DISPLAY=:0 XAUTHORITY=$(ps aux | grep "X.*\-auth" | grep -v grep | sed -n 's/.*-auth \([^ ]\+\).*/\1/p') glxinfo | grep -i "opengl.*version"

下面显示了 OpenGL 硬件渲染可用时的示例输出。

OpenGL core profile version string: 4.4.0 NVIDIA 390.75 OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler OpenGL version string: 4.6.0 NVIDIA 390.75 OpenGL shading language version string: 4.60 NVIDIA OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 390.75 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

安装和配置 AMD 驱动程序

已挂载 AMD GPU 的实例(如 G4ad 实例)必须安装相应的 AMD 驱动程序。有关在兼容的 Amazon EC2 实例上安装 AMD GPU 驱动程序的更多信息,请参阅在 Linux 实例上安装 AMD 驱动程序

有关 Amazon EC2 G4ad 实例的更多信息,请参阅深入了解新的 Amazon EC2 G4ad 实例博客帖子。