Linux 虚拟投递代理 2407

使用简易安装创建非域加入的 Linux VDA(预览版)

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

重要提示:

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

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

-  创建计算机目录和添加 Linux VDA 计算机的过程与传统的 Windows VDA 方法类似。有关如何完成这些任务的更详细说明,请参阅[创建计算机目录](/zh-cn/citrix-virtual-apps-desktops/install-configure/machine-catalogs-create.html)和[管理计算机目录](/zh-cn/citrix-virtual-apps-desktops/install-configure/machine-catalogs-manage.html)。

-  对于创建包含 Linux VDA 计算机的计算机目录,存在一些限制,这些限制使其与为 Windows VDA 计算机创建计算机目录的过程有所不同:
  • 对于操作系统,请选择:

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

注意:

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

步骤 2:创建注册令牌

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

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

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

  1. 选择您之前创建的空计算机目录,然后在操作栏中选择 Manage Enrollment Tokens(管理注册令牌)。

  2. Manage Enrollment Tokens(管理注册令牌)页面上,单击 Generate(生成)以创建注册令牌。或者,您可以选择一个处于有效状态的现有令牌。

  3. 按照向导完成设置。

  4. 下载成功创建的令牌,并以最低权限将其保存在安全位置。稍后运行简易安装脚本时,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 证书保存到 Linux VDA 上的 /etc/ssl/certs/,并根据您的 Linux 发行版运行以下命令以更新这些证书:

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

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

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

步骤 5:下载 Linux VDA 软件包

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

    Components for Citrix Virtual Apps and Desktops

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

    Linux VDA downloads

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

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

    GPG public key

    要使用公钥验证 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.3/9.2 和 Rocky Linux 9.4/9.3/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 20.04,请禁用 RDNS。为此,请在 /etc/krb5.conf 中 [libdefaults] 下添加 rdns = false 行。
  • 对于 SUSE 发行版:

    1. 对于 AWS、Azure 和 GCP 上的 SUSE 15.5,请确保:
    • 您正在使用 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 驱动程序。

步骤 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。
  • 对于 easy install 和 MCS,您可以指定使用 SQLite 或 PostgreSQL,而无需手动安装它们。除非通过 /etc/xdl/db.conf 另行指定,否则 Linux VDA 默认使用 PostgreSQL。
  • 您还可以使用 /etc/xdl/db.conf 来配置 PostgreSQL 的端口号。

步骤 9:运行 easy install 以配置环境和 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 是一个 easy install 脚本,用于执行一些预配置并设置 VDA 运行环境变量。

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

  • Easy install 使用 /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 中。
  • Easy install 支持模块化运行。模块包括预检查、安装、域配置、设置和验证。

  • 此脚本的调试详细信息可在 /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=’<path-to-token-file-on-vda-machine>‘ – 要使用 easy install 创建未加入域的 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。我们建议您使用 #!/bin/bash 作为第一行,从上述命令创建一个 shell 脚本文件。

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

要设置 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 远程 PowerShell SDK 运行该命令。