Linux Virtual Delivery Agent 2411

使用轻松安装创建非域加入 Linux VDA(预览版)

本文将引导您完成使用轻松安装方法,在 Citrix DaaS 或 Citrix Virtual Apps and Desktops™ 2407 及更高版本中创建非域加入 Linux VDA 并将其注册到计算机目录。

重要:

步骤 1:创建空计算机目录

  • 登录 Citrix Web Studio™ 并创建一个不包含任何计算机的空计算机目录。Linux VDA 不支持使用令牌文件注册到电源管理的计算机目录。

    • 创建计算机目录和添加 Linux VDA 计算机的过程与传统的 Windows VDA 方法类似。有关如何完成这些任务的更详细说明,请参阅创建计算机目录管理计算机目录

    • 对于创建包含 Linux VDA 计算机的计算机目录,存在一些限制,这些限制使该过程与为 Windows VDA 计算机创建计算机目录的过程有所不同:

  • 对于操作系统,请选择:

  • 多会话操作系统选项,用于托管共享桌面交付模型。
  • 单会话操作系统选项,用于 VDI 专用桌面交付模型。
  • 请勿在同一计算机目录中混合使用 Linux 和 Windows VDA 计算机。
  • 请勿在同一计算机目录中混合使用域加入和非域加入计算机。
    • 远程电脑访问计算机目录仅支持域加入计算机,不支持非域加入计算机。

注意:

Citrix Studio 的早期版本不支持“Linux 操作系统”的概念。但是,选择Windows Server 操作系统服务器操作系统选项表示等效的托管共享桌面交付模型。选择Windows 桌面操作系统桌面操作系统选项表示每个计算机一个用户的交付模型。

步骤 2:创建注册令牌

要使用轻松安装创建非域加入 VDA,您需要一个令牌文件,用于将 VDA 注册到计算机目录并向云或本地交付控制器验证 VDA。Linux VDA 不支持使用令牌文件注册到电源管理的计算机目录。

要创建注册令牌,请在 Citrix Web Studio 中完成以下步骤:

提示: - > 在 Citrix DaaS 中,Web Studio 称为“完整配置”。

  1. 选择您之前创建的空计算机目录,然后在操作栏中选择管理注册令牌
    1. 管理注册令牌页面上,单击生成以创建注册令牌。或者,您可以选择处于有效状态的现有令牌。
  1. 按照向导完成设置。

  2. 下载成功创建的令牌,并以最低权限将其保存在安全位置。稍后当您运行轻松安装脚本时,CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE 变量允许您指定用于注册 VDA 的令牌文件的路径。

步骤 3:安装 .NET

除了 .NET Runtime,您必须在安装或升级 Linux VDA 之前,在所有受支持的 Linux 发行版上安装 .ASP.NET Core Runtime。Amazon Linux 2 需要版本 6。其他发行版需要版本 8。

如果您的 Linux 发行版包含所需的 .NET 版本,请从内置源安装它。否则,从 Microsoft 包源安装 .NET。有关详细信息,请参阅 https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers

安装 .NET 后,运行 which dotnet 命令以查找您的运行时路径。

根据命令输出,设置 .NET 运行时二进制路径。例如,如果命令输出为 /aa/bb/dotnet,则使用 /aa/bb 作为 .NET 二进制路径。

-  ## 步骤 4:添加自签名 CA 证书

有关配置自签名 CA 证书的详细信息,请参阅为 WebSocket 配置自签名证书。本节涉及在 Linux VDA 上放置和更新 CA 证书。

  • 对于 RHEL、Rocky Linux 和 Amazon Linux 2:

    将自签名 CA 证书保存到 Linux VDA 上的 /etc/pki/ca-trust/source/anchors 目录,然后运行以下命令更新证书:

     sudo update-ca-trust
     <!--NeedCopy-->
    
  • 对于 SUSE、Ubuntu 和 Debian:

    将根 CA 证书放置在 /usr/local/share/ca-certificates 目录中。然后,运行 update-ca-certificate 命令。

     sudo update-ca-certificates
     <!--NeedCopy-->
    

步骤 5:下载 Linux VDA 软件包

  1. 转到 Citrix Virtual Apps and Desktops 下载页面
  2. 展开相应版本的 Citrix Virtual Apps™ and Desktops。
  3. 展开组件以查找 Linux VDA。例如:

    Citrix Virtual Apps and Desktops 的组件

  4. 单击 Linux VDA 链接以访问 Linux VDA 下载。

    Linux VDA 下载

  5. 下载与您的 Linux 发行版匹配的 Linux VDA 软件包。

  6. 下载 GPG 公钥,您可以使用它来验证 Linux VDA 软件包的完整性。例如:

    GPG 公钥

    要使用公钥验证 Linux VDA 软件包的完整性:

    • 对于 RPM 软件包,运行以下命令将公钥导入 RPM 数据库并检查软件包完整性:

      
       -  rpmkeys --import <path to the public key>
       rpm --checksig --verbose <path to the Linux VDA package>
      
       <!--NeedCopy-->
      
    • 对于 DEB 软件包,运行以下命令将公钥导入 DEB 数据库并检查软件包完整性:

       sudo apt-get install dpkg-sig
      
       -  gpg --import <path to the public key>
       -  dpkg-sig --verify <path to the Linux VDA package>
       <!--NeedCopy-->
      

步骤 6:安装 Linux VDA 软件包

要设置 Linux VDA 的环境,请运行以下命令。

对于 Amazon Linux 2、CentOS、RHEL 和 Rocky Linux 分发版:

注意:

  • 对于 RHEL 和 CentOS,请先安装 EPEL 存储库,然后才能成功安装 Linux VDA。有关如何安装 EPEL 的信息,请参阅 https://docs.fedoraproject.org/en-US/epel/ 上的说明。

  • 在 RHEL 9.4/9.2 和 Rocky Linux 9.4/9.2 上安装 Linux VDA 之前,请将 libsepol 软件包更新到版本 3.4 或更高版本。

sudo yum  -y localinstall   <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

注意:

在 GCP 上托管的 RHEL 8.x/9.x 和 Rocky Linux 8.x/9.x 上安装 Linux VDA 后,以太网连接可能会丢失,并且在 VM 重启后 Linux VDA 可能无法访问。要解决此问题,请在首次登录 VM 时设置 root 密码,并确保您可以以 root 身份登录 VM。然后,在重启 VM 后,在控制台中运行以下命令:

nmcli dev connect eth0
systemctl restart NetworkManager

<!--NeedCopy-->

对于 Ubuntu/Debian 分发版:

sudo dpkg -i <PATH>/<Linux VDA deb>
sudo apt-get install -f
<!--NeedCopy-->

注意:

  • 要为 Debian 11 分发版安装必要的依赖项,请将 deb http://deb.debian.org/debian/ bullseye main 行添加到 /etc/apt/sources.list 文件中。

  • 对于 GCP 上的 Ubuntu 24.04、22.04、20.04,请禁用 RDNS。为此,请在 /etc/krb5.conf 中 [libdefaults] 下添加 rdns = false 行。

  • 对于 SUSE 分发版:

    1. 对于 AWS、Azure 和 GCP 上的 SUSE 15.6,请确保:
    • 您使用的是 libstdc++6 版本 12 或更高版本。
    • /etc/sysconfig/windowmanager 中的 Default_WM 参数设置为 “gnome”
  1. 运行以下命令安装 Linux VDA:

    zypper -i install <PATH>/<Linux VDA RPM>
    <!--NeedCopy-->
    

步骤 7:安装 NVIDIA GRID 驱动程序

要启用 HDX™ 3D Pro,您需要在管理程序和 VDA 计算机上安装 NVIDIA GRID 驱动程序。

要在特定管理程序上安装和配置 NVIDIA GRID Virtual GPU Manager(主机驱动程序),请参阅以下指南:

要安装和配置 NVIDIA GRID 客户机 VM 驱动程序,请执行以下常规步骤:

  1. 确保客户机 VM 已关闭。
  2. 在管理程序控制面板中,为 VM 分配一个 GPU。
  3. 启动 VM。
  4. 在 VM 上安装客户机 VM 驱动程序(来自您的云供应商或 NVIDIA)。

步骤 8:指定要使用的数据库

安装 Linux VDA 软件包后,您可以通过编辑 /etc/xdl/db.conf 来指定使用 SQLite 或 PostgreSQL。

为此,请在运行 sudo /opt/Citrix/VDA/sbin/ctxinstall.sh/opt/Citrix/VDA/bin/easyinstall 之前编辑 /etc/xdl/db.conf

注意:

  • 我们建议您仅在 VDI 模式下使用 SQLite。
  • 对于轻松安装和 MCS,您可以指定使用 SQLite 或 PostgreSQL,而无需手动安装它们。除非通过 /etc/xdl/db.conf 另行指定,否则 Linux VDA 默认使用 PostgreSQL。
  • 您还可以使用 /etc/xdl/db.conf 配置 PostgreSQL 的端口号。

步骤 9:运行轻松安装脚本以配置环境和 VDA 以完成安装

安装 Linux VDA 软件包后,使用 ctxinstall.sh 脚本配置运行环境。

注意:

在设置运行时环境之前,请确保您的操作系统中已安装 en_US.UTF-8 区域设置。如果您的操作系统中没有该区域设置,请运行 sudo locale-gen en_US.UTF-8 命令。对于 Debian,请通过取消注释 # en_US.UTF-8 UTF-8 行来编辑 /etc/locale.gen 文件,然后运行 sudo locale-gen 命令。

ctxinstall.sh

ctxinstall.sh 是一个轻松安装脚本,用于执行一些预配置并设置 VDA 运行环境变量。

  • 只有 root 用户才能运行此脚本。

  • 轻松安装使用 /opt/Citrix/VDA/sbin/ctxinstall.conf 作为其配置文件来设置、保存和同步所有使用的环境变量的值。我们建议您仔细阅读模板 (ctxinstall.conf.tmpl),然后自定义您自己的 ctxinstall.conf。首次创建配置文件时,请使用以下任一方法:
    • 通过复制 /opt/Citrix/VDA/sbin/ctxinstall.conf.tmpl 模板文件并将其另存为 /opt/Citrix/VDA/sbin/ctxinstall.conf。
    • 通过运行 ctxinstall.sh。每次运行 ctxinstall.sh 时,您的输入都会保存到 /opt/Citrix/VDA/sbin/ctxinstall.conf 中。
  • 轻松安装支持模块化运行。模块包括预检查、安装、域配置、设置和验证。

  • 此脚本的调试详细信息可在 /var/log/xdl/ctxinstall.log 中找到。

有关详细信息,请使用帮助命令 ctxinstall.sh -h

注意:

  • 遵循最小权限原则,确保只有 root 用户可以读取 /opt/Citrix/VDA/sbin/ctxinstall.conf,因为文件中可能设置了域加入密码。
  • 卸载 Linux VDA 会删除 /opt/Citrix/VDA 下的文件。我们建议您在卸载 VDA 之前备份 /opt/Citrix/VDA/sbin/ctxinstall.conf

您可以在交互模式或静默模式下运行 ctxinstall.sh。在运行脚本之前,请设置以下环境变量:

  • CTX_XDL_NON_DOMAIN_JOINED=’y|n’ – 是否将计算机加入域。默认值为 ‘n’。对于未加入域的场景,请将其设置为 ‘y’。

  • CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE=’<VDA 计算机上令牌文件的路径>‘ – 要使用轻松安装创建未加入域的 VDA,您需要一个令牌文件才能将 VDA 注册到 Delivery Controller 的计算机目录中。将令牌以最小权限保存到安全位置。

  • CTX_XDL_VDI_MODE=’y|n’ – 是否将计算机配置为专用桌面交付模型 (VDI) 或托管共享桌面交付模型。对于 HDX 3D Pro 环境,请将此值设置为 ‘y’。
  • CTX_XDL_HDX_3D_PRO=’y|n’ – Linux VDA 支持 HDX 3D Pro,这是一组旨在优化富图形应用程序虚拟化的 GPU 加速技术。如果选择了 HDX 3D Pro,则 VDA 将配置为 VDI 桌面(单会话)模式 -(即 CTX_XDL_VDI_MODE=’y’)。

  • CTX_XDL_START_SERVICE=’y|n’ – 确定配置完成后是否启动 Linux VDA 服务。

  • CTX_XDL_REGISTER_SERVICE=’y|n’ – Linux Virtual Desktop 服务在计算机启动后启动。

  • CTX_XDL_ADD_FIREWALL_RULES=’y|n’ – Linux VDA 服务需要允许传入网络连接通过系统防火墙。您可以自动在系统防火墙中打开 Linux Virtual Desktop 所需的端口(默认端口 80 和 1494)。

  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/mate – 指定在会话中使用的 GNOME、GNOME Classic 或 MATE 桌面环境。如果未指定此变量,则使用 VDA 上配置的默认桌面。

  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/kde/mate/xfce/’<none>‘ – 指定在会话中使用的 GNOME、GNOME Classic、KDE、MATE 或 Xfce 桌面环境。如果将其设置为“<none>”,则使用 VDA 上配置的默认桌面。您可以使用 CTX_XDL_DESKTOP_ENVIRONMENT 变量指定要在会话中使用的桌面环境。您还可以通过运行命令或使用系统托盘在桌面环境之间进行切换。有关详细信息,请参阅桌面切换命令系统托盘

  • CTX_XDL_DOTNET_RUNTIME_PATH=’<path-to-install-dotnet-runtime>‘ – 用于安装 .NET 以支持新的代理服务 (ctxvda) 的路径。默认路径为“/usr/bin”。

  • CTX_XDL_VDA_PORT=’<port-number>‘ – Linux VDA 通过 TCP/IP 端口与 Delivery Controller 通信。

交互模式

要以交互模式运行 ctxinstall.sh 脚本,请使用不带 -S 选项的 sudo /opt/Citrix/VDA/sbin/ctxinstall.sh 命令。在命令行界面中的每个提示符处键入相关的变量值。如果已设置某个变量,ctxinstall.sh 会询问您是否要更改它以进行确认。

静默模式

在静默模式下,您必须使用 /opt/Citrix/VDA/sbin/ctxinstall.conf 或 export 命令设置上述变量。之后,运行 ctxinstall.sh -S(请注意,这里的字母 S大写)。如果并非所有必需变量都已设置或某些值无效,ctxinstall.sh 将中止执行,除非存在默认值。

如果您设置了它,则每个变量的导出值将覆盖 /Citrix/VDA/sbin/ctxinstall.conf 中的值。所有更新的值都将保存到 /Citrix/VDA/sbin/ctxinstall.conf 中。

export CTX_XDL_NON_DOMAIN_JOINED='y'
export CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE='<token-file-path>'
export CTX_XDL_VDI_MODE='y|n'
export CTX_XDL_START_SERVICE='y|n'
export CTX_XDL_REGISTER_SERVICE='y|n'
export CTX_XDL_ADD_FIREWALL_RULES='y|n'
export CTX_XDL_HDX_3D_PRO='y|n'
export CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|kde|mate|xfce|'<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>'
export CTX_XDL_VDA_PORT='<port-number>'
sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh -S
<!--NeedCopy-->

运行 sudo 命令时,键入 -E 选项以将现有环境变量传递给它创建的新 shell。建议您使用上述命令创建一个 shell 脚本文件,并将 #!/bin/bash 作为第一行。

或者,您可以使用单个命令指定所有变量。

要设置 VDA 运行环境变量(以“CTX_XDL_”开头的变量),您可以运行 ctxinstall.sh -s(请注意,这里的字母 s小写)。

步骤 10:运行 XDPing

运行 sudo /opt/Citrix/VDA/bin/xdping 以检查 Linux VDA 环境中的常见配置问题。有关详细信息,请参阅 XDPing

步骤 11:运行 Linux VDA

启动 Linux VDA:

要启动 Linux VDA 服务:

sudo systemctl start ctxhdx.service

sudo systemctl start ctxvda.service
<!--NeedCopy-->

停止 Linux VDA:

要停止 Linux VDA 服务:

sudo systemctl stop ctxvda.service

sudo systemctl stop ctxhdx.service
<!--NeedCopy-->

注意:

在停止 ctxvdactxhdx 服务之前,请运行 systemctl stop ctxmonitord 命令以停止监视器服务守护程序。否则,监视器服务守护程序将重新启动您停止的服务。

重新启动 Linux VDA:

要重新启动 Linux VDA 服务:

sudo systemctl stop ctxvda.service

sudo systemctl restart ctxhdx.service

sudo systemctl start ctxvda.service
<!--NeedCopy-->

检查 Linux VDA 的状态:

要检查 Linux VDA 服务的运行状态:

sudo systemctl status ctxvda.service

sudo systemctl status ctxhdx.service
<!--NeedCopy-->

步骤 12:创建交付组

创建交付组以及添加包含 Linux VDA 计算机的计算机目录的过程与 Windows VDA 计算机几乎相同。有关如何完成这些任务的更详细说明,请参阅创建交付组

对于创建包含 Linux VDA 计算机目录的交付组,适用以下限制:

  • 确保您选择的 AD 用户和组已正确配置为登录到 Linux VDA 计算机。
  • 不允许未经身份验证(匿名)的用户登录。
  • 请勿将交付组与包含 Windows 计算机的计算机目录混合使用。

重要:

Linux VDA 1.4 版及更高版本支持发布应用程序。但是,Linux VDA 不支持将桌面和应用程序交付到同一台计算机。

有关如何创建计算机目录和交付组的信息,请参阅 Citrix Virtual Apps and Desktops 7 2407

步骤 13:启用本地帐户映射

如果未启用本地帐户映射会怎样

在未加入域的 VDA 上托管的会话登录失败,显示密码提示但不接受正确的密码。在 hdx.log 中可以找到与以下内容类似的错误:

2024-09-25 06:40:30.767979 [LOGIN_BOX:ERROR] <P124211:T58675:S4> citrix-ctxlogin: PamAuthenticate: pam authentication: Authentication failure. Can retry for user 'user3'
2024-09-25 06:40:30.768431 [LOGIN:ERROR] <P124211:T58675:S4> citrix-ctxlogin: LoginBoxValidate: Failed to validate user 'user3'. Due to INVALID_PASSWORD
2024-09-25 06:40:30.768947 [LOGIN_AUTH:INFO] <P124218:T58682:S4> citrix-ctxloginui: CalLabelFormat: Update username label on LoginUI from 'user3' to 'user3' (18)
2024-09-25 06:41:18.766196 [GFX_SLIDER:ERROR] <P124161:T58699:S4> citrix-ctxgfx: GfxCreateSliderListener: Failed to get user home dir.
<!--NeedCopy-->

启用本地帐户映射

为确保用户可以登录到未加入域的 Linux VDA,请使用以下命令启用本地帐户映射:

Set-BrokerDesktopGroup -Name "<your delivery group name>" -MachineLogOnType LocalMappedAccount
<!--NeedCopy-->

对于本地部署,请直接在 Delivery Controller 上运行该命令。对于 Citrix DaaS 部署,请通过 Citrix Virtual Apps and Desktops Remote PowerShell SDK 运行该命令。