Linux Virtual Delivery Agent

Crear un Linux VDA no unido a ningún dominio mediante Easy Install (Tech Preview)

En este artículo se explica cómo utilizar el método de Easy Install para crear un Linux VDA no unido a ningún dominio en Citrix DaaS.

Importante:

Paso 1: Cree un catálogo de máquinas

Cree un catálogo de máquinas vacío sin máquinas. Por ejemplo, use el SDK de Citrix Remote PowerShell y ejecute el siguiente comando para crear un catálogo de máquinas vacío denominado Su-nombre-de-catálogo y que admita máquinas con sistema operativo de sesión única.

New-BrokerCatalog -AllocationType 'Static' -Description 'Your description' -MinimumFunctionalLevel 'L7_20' -Name 'Your-catalog-name' -SessionSupport 'SingleSession' -PersistUserChanges 'OnLocal' -ProvisioningType 'Manual' -MachinesArePhysical $true
<!--NeedCopy-->

Mantenga un registro del UUID del catálogo creado. El UUID es necesario para crear un token de inscripción más adelante.

El proceso de creación de catálogos de máquinas y de incorporación de máquinas Linux es similar al proceso habitual de VDA para Windows. Para ver una descripción detallada sobre cómo completar estas tareas, consulte Crear catálogos de máquinas y Administrar catálogos de máquinas.

Existen restricciones que diferencian el proceso de creación de catálogos de máquinas con VDA para Windows del mismo proceso con VDA para Linux:

  • Para el sistema operativo, seleccione:

    • La opción SO multisesión para un modelo de entrega de escritorios compartidos alojados.
    • La opción SO de sesión única para un modelo de entrega de escritorios VDI dedicados.
  • No mezcle máquinas con agentes VDA para Windows y Linux en el mismo catálogo.
  • No mezcle máquinas unidas a un dominio y no unidas a un dominio en el mismo catálogo de máquinas.
  • Los catálogos de máquinas con acceso con Remote PC solo se admiten para máquinas unidas a un dominio y no se admiten para máquinas no unidas a un dominio.

Nota:

Las primeras versiones de Citrix Studio no son compatibles con el concepto de “SO Linux”. Sin embargo, seleccionar la opción SO de servidor Windows o SO de servidor implica un modelo equivalente de entrega de escritorios compartidos alojados. Seleccionar la opción SO de escritorio Windows o SO de escritorio implica un modelo de entrega de un usuario por máquina.

Paso 2: Cree un token de inscripción de VDA

Para crear un VDA no unido a ningún dominio mediante Easy Install, necesita un archivo de token para inscribir el VDA en un catálogo de máquinas y autenticar el VDA en el plano de control de Citrix Cloud. El Linux VDA no admite el uso de un archivo de token para inscribirse en un catálogo de máquinas con administración de energía.

Para crear un token de inscripción, envíe un mensaje HTTP POST similar al siguiente a la URL: [DdcServerAddress]/citrix/orchestration/api/techpreview/{customerid}/{siteid}/enrollments.

POST https://[DdcServerAddress]/citrix/orchestration/api/techpreview/[customerid]/[siteid]/enrollments HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
Authorization: Bearer <bearer-token>

{
  "TokenName": "string",
  "IssuedToUser": "string",
  "ExpirationDate": "2023-10-13T08:00:25.796Z",
  "NotValidBeforeDate": "2023-10-13T08:00:25.796Z",
  "NumMachinesAllowed": number,
  "CatalogId": "string"
}
<!--NeedCopy-->

En el mensaje HTTP POST, establezca CatalogId en el UUID del catálogo de máquinas que creó anteriormente y establezca [DdcServerAddress] en uno de los siguientes valores, según necesite:

  • Commercial https://[customerid].xendesktop.net
  • Japan https://[customerid].apps.citrixworkspacesapi.jp
  • Government https://[customerid].xendesktop.us

Paso 3: Instale .NET

Antes de instalar Linux VDA, instale .NET correspondiente a su distribución de Linux:

  • Instale .NET Runtime 8.0 en todas las distribuciones de Linux compatibles, excepto RHEL 7.9 y Amazon Linux 2.
  • Para RHEL 7.9 y Amazon Linux 2, siga realizando la instalación de .NET Runtime 6.0.

Si su distribución de Linux contiene la versión de .NET que necesita, instálela desde el feed integrado. De otro modo, instale .NET desde la sección de paquetes de Microsoft. Para obtener más información, consulte https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.

Después de instalar .NET, ejecute el comando which dotnet para encontrar su ruta de runtime.

En función del resultado del comando, establezca la ruta binaria de .NET Runtime. Por ejemplo, si el resultado del comando es /aa/bb/dotnet, use /aa/bb como ruta binaria de .NET.

Paso 4: Descargue el paquete de Linux VDA

  1. Vaya a la página de descargas de Citrix Virtual Apps and Desktops.
  2. Expanda la versión adecuada de Citrix Virtual Apps and Desktops.
  3. Expanda Componentes para buscar Linux VDA. Por ejemplo:

    Componentes para Citrix Virtual Apps and Desktops

  4. Haga clic en el enlace de Linux VDA para acceder a las descargas de Linux VDA.

    Descargas de Linux VDA

  5. Descargue el paquete de Linux VDA que coincida con su distribución de Linux.

  6. Descargue la clave pública GPG que puede usar para verificar la integridad del paquete de Linux VDA. Por ejemplo:

    Clave pública GPG

    Para comprobar la integridad del paquete de Linux VDA mediante la clave pública:

    • Para un paquete RPM, ejecute estos comandos para importar la clave pública a la base de datos RPM y comprobar la integridad del paquete:

       rpmkeys --import <path to the public key>
       rpm --checksig --verbose <path to the Linux VDA package>
       <!--NeedCopy-->
      
    • Para un paquete DEB, ejecute estos comandos para importar la clave pública a la base de datos DEB y comprobar la integridad del paquete:

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

Paso 5: Instale el paquete de Linux VDA

Para configurar el entorno para Linux VDA, ejecute los siguientes comandos.

Para las distribuciones de Amazon Linux 2, CentOS, RHEL y Rocky Linux:

Nota:

  • En el caso de RHEL y CentOS, debe instalar el repositorio EPEL para poder instalar Linux VDA correctamente. Para obtener información sobre cómo instalar EPEL, consulte las instrucciones en https://docs.fedoraproject.org/en-US/epel/.

  • Antes de instalar el Linux VDA en RHEL 9.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0, actualice el paquete libsepol a la versión 3.4 o posterior.

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

Nota:

Tras instalar Linux VDA en RHEL 8.x/9.x y Rocky Linux 8.x/9.x alojados en GCP, es posible que se pierda la conexión Ethernet y que no se pueda acceder a Linux VDA después de reiniciar la máquina virtual. Para solucionar este problema, establezca una contraseña raíz al iniciar sesión en la máquina virtual por primera vez y asegúrese de que puede iniciar sesión en la máquina virtual como raíz. A continuación, ejecute estos comandos en la consola tras reiniciar la máquina virtual:

nmcli dev connect eth0
systemctl restart NetworkManager
<!--NeedCopy-->

Para distribuciones Ubuntu/Debian:

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

Nota:

  • Para instalar las dependencias necesarias para una distribución Debian 11, agregue la línea deb http://deb.debian.org/debian/ bullseye main al archivo /etc/apt/sources.list.

  • Para Ubuntu 20.04 en GCP, inhabilite RDNS. Para ello, agregue la línea rdns = false en [libdefaults] en /etc/krb5.conf.

Para las distribuciones SUSE:

  1. Para SUSE 15.5 en AWS, Azure y GCP, asegúrese de que:

    • Está utilizando libstdc++6 versión 12 o posterior.
    • El parámetro Default_WM de /etc/sysconfig/windowmanager está configurado en “gnome”.
  2. Ejecute el siguiente comando para instalar Linux VDA:

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

Paso 6: Instale controladores NVIDIA GRID

Para habilitar HDX 3D Pro, debe instalar los controladores NVIDIA GRID en el hipervisor y en la máquina VDA.

Para instalar y configurar el administrador de GPU virtual de NVIDIA GRID (el controlador de hosts) en los hipervisores específicos, consulte estas guías:

Para instalar y configurar los controladores de VM invitada de NVIDIA GRID, siga estos pasos generales:

  1. Asegúrese de que la máquina virtual invitada esté apagada.
  2. En el panel de control del hipervisor, asigne una GPU a la VM.
  3. Inicie la VM.
  4. Instale el controlador de VM invitada en la VM.

Paso 7: Especifique una base de datos que se utilizará

Para especificar el uso de SQLite o PostgreSQL, modifique /etc/xdl/db.conf después de instalar el paquete de Linux VDA.

Para ello, modifique /etc/xdl/db.conf antes de ejecutar sudo /opt/Citrix/VDA/sbin/ctxinstall.sh o /opt/Citrix/VDA/bin/easyinstall.

Nota:

  • Le recomendamos utilizar SQLite solo para el modo VDI.
  • Para Easy Install y MCS, puede especificar el uso de SQLite o PostgreSQL sin tener que instalarlos manualmente. A menos que se especifique lo contrario mediante /etc/xdl/db.conf, Linux VDA usa PostgreSQL de forma predeterminada.
  • También puede usar /etc/xdl/db.conf para configurar el número de puerto de PostgreSQL.

Paso 8: Ejecute Easy Install para configurar el entorno y el VDA para completar la instalación

Después de instalar el paquete de Linux VDA, configure el entorno de ejecución mediante el script ctxinstall.sh.

Nota:

Antes de configurar el entorno en tiempo de ejecución, asegúrese de que la configuración regional en_US.UTF-8 esté instalada en su sistema operativo. Si la configuración regional no está disponible en su sistema operativo, ejecute el comando sudo locale-gen en_US.UTF-8. Para Debian, quite la marca de comentario de la línea # en_US.UTF-8 UTF-8 para modificar el archivo /etc/locale.gen y, a continuación, ejecute el comando sudo locale-gen.

ctxinstall.sh

ctxinstall.sh es el script de Easy Install para realizar una preconfiguración y configurar las variables de entorno en ejecución del VDA.

  • Solo el usuario Raíz puede ejecutar este script.

  • Easy Install usa /opt/Citrix/VDA/sbin/ctxinstall.conf como archivo de configuración para definir, guardar y sincronizar los valores de todas las variables de entorno. Le recomendamos que lea la plantilla (ctxinstall.conf.tmpl) detenidamente y, a continuación, personalice su propio ctxinstall.conf. Cuando cree el archivo de configuración por primera vez, utilice una de estas formas:
    • Copie el archivo de plantilla /opt/Citrix/VDA/sbin/ctxinstall.conf.tmpl y guárdelo como /opt/Citrix/VDA/sbin/ctxinstall.conf.
    • Ejecute ctxinstall.sh. Cada vez que ejecuta ctxinstall.sh, lo que haya introducido se guarda en /opt/Citrix/VDA/sbin/ctxinstall.conf.
  • Easy Install permite el funcionamiento modular. Los módulos incluyen comprobación previa, instalación, configuración del dominio, configuración y verificación.

  • Los detalles de depuración de este script se encuentran en /var/log/xdl/ctxinstall.log.

Para obtener más información, utilice el comando de ayuda ctxinstall.sh -h.

Nota:

  • Con base en el principio del mínimo privilegio, asegúrese de que solo el usuario raíz pueda leer opt/Citrix/VDA/sbin/ctxinstall.conf, ya que es posible que la contraseña de unión al dominio esté definida en el archivo.
  • Al desinstalar Linux VDA, se quitan los archivos que se encuentran en /opt/Citrix/VDA. Le recomendamos que haga una copia de reserva de /opt/Citrix/VDA/sbin/ctxinstall.conf antes de desinstalar el VDA.

Puede ejecutar ctxinstall.sh en modo interactivo o silencioso. Antes de ejecutar el script, defina estas variables de entorno:

  • CTX_XDL_NON_DOMAIN_JOINED=’y|n’: indica si se debe unir la máquina a un dominio. El valor predeterminado es ‘n’. Para los casos no unidos a ningún dominio, establézcalo en ‘y’.

  • **CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE=’'**: Para crear un VDA no unido a ningún dominio mediante Easy install, necesita un archivo de token para inscribir el VDA en un catálogo de máquinas del Delivery Controller. Guarde el token en un archivo con privilegios mínimos en una ruta adecuada.

  • CTX_XDL_VDI_MODE=’y|n’: Indica si configurar la máquina a partir de un modelo de entrega de escritorios dedicados (VDI) o un modelo de entrega de escritorios compartidos alojados. Para entornos HDX 3D Pro, establézcalo en ‘y’.
  • CTX_XDL_HDX_3D_PRO =’y|n’: Linux VDA es compatible con HDX 3D Pro, un conjunto de tecnologías para la aceleración de la GPU que se diseñó para optimizar la virtualización de aplicaciones con gráficos sofisticados. Si se selecciona HDX 3D Pro, el VDA se configura para el modo de escritorios VDI (sesión única); (es decir, CTX_XDL_VDI_MODE=’y’).

  • CTX_XDL_START_SERVICE=’y|n’: Determina si los servicios de Linux VDA se inician cuando se completa la configuración.

  • CTX_XDL_REGISTER_SERVICE=’y|n’: Los servicios de Linux Virtual Desktop se inician después del arranque de la máquina.

  • CTX_XDL_ADD_FIREWALL_RULES=’y|n’: Los servicios de Linux VDA requieren que se permitan las conexiones de red entrantes a través del firewall del sistema. Puede abrir automáticamente los puertos necesarios (de forma predeterminada, los puertos 80 y 1494) en el firewall del sistema de Linux Virtual Desktop.

  • CTX_XDL_DESKTOP _ENVIRONMENT=gnome/gnome-classic/mate: Especifica el entorno de escritorio GNOME, GNOME Classic o MATE que se va a utilizar en las sesiones. Si deja la variable sin especificar, se usa el escritorio predeterminado configurado en el VDA.

  • CTX_XDL_DOTNET_RUNTIME_PATH=’<path-to-install-dotnet-runtime>’: La ruta de instalación de .NET para garantizar compatibilidad con el nuevo servicio de agente intermediario (ctxvda). La ruta predeterminada es “/usr/bin”.

  • **CTX_XDL_VDA_PORT=’'**: Linux VDA se comunica con los Delivery Controller a través de un puerto TCP/IP.

Consideraciones

  • También puede cambiar el entorno de escritorio del usuario de una sesión de destino mediante estos pasos:

    1. Cree un archivo .xsession o .Xclients en el directorio $HOME/<nombre de usuario\> del VDA. Si utiliza Amazon Linux 2, cree un archivo .Xclients. Si usa otras distribuciones, cree un archivo .xsession.
    2. Modifique el archivo .xsession o .Xclients para especificar un entorno de escritorio basado en distribuciones.

      • Para escritorios MATE

         MSESSION="$(type -p mate-session)"  
         if [ -n "$MSESSION" ]; then  
         exec mate-session  
         fi
         <!--NeedCopy-->
        
      • Para escritorios GNOME Classic

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         export GNOME_SHELL_SESSION_MODE=classic  
         exec gnome-session --session=gnome-classic  
         fi  
         <!--NeedCopy-->
        
      • Para escritorios GNOME

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi  
         <!--NeedCopy-->
        
    3. Comparta el permiso de archivo 700 con el usuario de la sesión de destino.

    A partir de la versión 2209, los usuarios de las sesiones pueden personalizar sus entornos de escritorio. Para habilitar esta función, debe instalar con antelación en el VDA entornos de escritorio que se puedan cambiar. Para obtener más información, consulte Entornos de escritorio personalizados por usuarios de las sesiones.

Modo interactivo

Para ejecutar el script ctxinstall.sh en el modo interactivo, ejecute el comando sudo /opt/Citrix/VDA/sbin/ctxinstall.sh sin la opción -S. Escriba el valor de la variable correspondiente en cada línea de la interfaz de línea de comandos. Si una variable ya está configurada, ctxinstall.sh solicita una confirmación en caso de que quiera cambiarla.

Modo silencioso

En el modo silencioso, debe configurar las variables anteriores mediante /opt/Citrix/VDA/sbin/ctxinstall.conf o el comando export. Después de eso, ejecute ctxinstall.sh -S (tenga en cuenta que la letra S aquí está en mayúscula). Si no se han configurado todas las variables necesarias o algún valor no es válido, ctxinstall.sh interrumpe la ejecución, a menos que haya valores predeterminados.

Si lo establece, el valor exportado de cada variable sobrescribe el valor de /Citrix/VDA/sbin/ctxinstall.conf. Todos los valores actualizados se guardan en /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 | mate | '<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-->

Cuando ejecute el comando sudo, escriba la opción -E para pasar las variables de entorno existentes al nuevo shell que se crea. Se recomienda crear un archivo de script shell a partir de los comandos anteriores con #!/bin/bash en la primera línea.

También puede especificar todas las variables mediante un solo comando.

Para configurar las variables de entorno en ejecución del VDA (las que comienzan por CTX_XDL_), puede ejecutar ctxinstall.sh -s (tenga en cuenta que la letra s aparece aquí en minúscula).

Paso 9: Ejecute XDPing

Ejecute sudo /opt/Citrix/VDA/bin/xdping para comprobar la presencia de problemas de configuración comunes en un entorno Linux VDA. Para obtener más información, consulte XDPing.

Paso 10: Ejecute Linux VDA

Iniciar Linux VDA:

Para iniciar los servicios de Linux VDA:

sudo systemctl start ctxhdx.service

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

Detener Linux VDA:

Para detener los servicios de Linux VDA:

sudo systemctl stop ctxvda.service

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

Nota:

Antes de detener los servicios ctxvda y ctxhdx, ejecute el comando systemctl stop ctxmonitord para detener el demonio del servicio de supervisión. De lo contrario, el demonio del servicio de supervisión reinicia los servicios que ha detenido.

Reiniciar Linux VDA:

Para reiniciar los servicios de Linux VDA:

sudo systemctl stop ctxvda.service

sudo systemctl restart ctxhdx.service

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

Comprobar el estado de Linux VDA:

Para comprobar el estado de ejecución de los servicios de Linux VDA:

sudo systemctl status ctxvda.service

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

Paso 11: Cree grupos de entrega

El proceso de creación de un grupo de entrega y de incorporación de catálogos de máquinas con agentes VDA para Linux es muy similar al proceso de máquinas con agentes VDA para Windows. Para ver una descripción detallada sobre cómo completar estas tareas, consulte Crear grupos de entrega.

Se aplican las siguientes restricciones para crear grupos de entrega que contengan catálogos de máquinas con Linux VDA:

  • Los grupos y usuarios de AD que seleccione deben estar correctamente configurados para poder iniciar sesión en las máquinas con VDA para Linux.
  • No permita que usuarios no autenticados (anónimos) inicien sesión.
  • No mezcle el grupo de entrega con catálogos de máquinas que contienen máquinas Windows.

Importante:

Se admite la publicación de aplicaciones con Linux VDA 1.4 y versiones posteriores. Linux VDA no admite la entrega de escritorios ni aplicaciones a la misma máquina.

Para obtener información sobre cómo crear catálogos de máquinas y grupos de entrega, consulte Citrix Virtual Apps and Desktops 7 2402 LTSR.