Linux Virtual Delivery Agent

Crear un VDA de Linux no unido a un dominio mediante la instalación sencilla

Este artículo te guía a través del método de instalación sencilla para crear e inscribir un VDA de Linux no unido a un dominio con un catálogo de máquinas en Citrix DaaS o Citrix Virtual Apps and Desktops™ 2407 y versiones posteriores.

Importante:

  • Para clientes de Citrix DaaS™:
    • Puedes implementar VDA no unidos a un dominio en una nube pública o en el centro de datos local. Los VDA no unidos a un dominio se administran mediante el plano de control en Citrix DaaS.
    • Para crear VDA no unidos a un dominio, los clientes que usan el servicio Citrix Gateway deben asegurarse de que Rendezvous V2 esté habilitado. Los Cloud Connectors solo son necesarios si planeas aprovisionar máquinas en hipervisores locales o si quieres usar Active Directory como proveedor de identidades en Workspace.
  • Para crear VDA no unidos a un dominio, también puedes usar MCS. Para obtener más información, consulta Crear VDA de Linux no unidos a un dominio mediante MCS.
    • MCS no es compatible con servidores bare metal.
  • Las siguientes funciones están disponibles para los VDA de Linux no unidos a un dominio:

  • [Autenticación sin SSO]
  • Autenticación con Azure Active Directory

Paso 1: Crear un catálogo de máquinas vacío

  • Inicia sesión en Citrix Web Studio™ y crea un catálogo de máquinas vacío sin máquinas. El VDA de Linux no admite el uso de un archivo de token para inscribirse en un catálogo de máquinas con administración de energía.

    • El proceso para crear catálogos de máquinas y agregar máquinas VDA de Linux es similar al enfoque tradicional de VDA de Windows. Para obtener una descripción más detallada de cómo completar estas tareas, consulta Crear catálogos de máquinas y Administrar catálogos de máquinas.

    • Para crear catálogos de máquinas que contengan máquinas VDA de Linux, existen algunas restricciones que diferencian el proceso de la creación de catálogos de máquinas para VDA de Windows:

  • Para el sistema operativo, selecciona:

    • 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 dedicados VDI.
  • No mezcles máquinas VDA de Linux y Windows en el mismo catálogo de máquinas.
  • No mezcles máquinas unidas a un dominio y no unidas a un dominio en el mismo catálogo de máquinas.
    • Para crear un catálogo de máquinas de inscripción de tokens, elige SO de sesión única o SO multisesión en la página Tipo de máquina, elige “Máquinas sin administración de energía (por ejemplo, máquinas físicas)” en la página Administración de máquinas.

Nota:

Las versiones anteriores de Citrix Studio no admiten la noción de “SO Linux”. Sin embargo, seleccionar la opción SO de servidor Windows o SO de servidor implica un modelo de entrega de escritorios compartidos alojados equivalente. Seleccionar la opción SO de escritorio Windows o SO de escritorio implica un modelo de entrega de un solo usuario por máquina.

Paso 2: Crear un token de inscripción

Para crear un VDA de Linux no unido a un dominio mediante la instalación sencilla, necesitas un archivo de token para inscribir el VDA en un catálogo de máquinas y autenticar el VDA en el controlador de entrega en la nube o local. El VDA de Linux 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, completa los siguientes pasos en Citrix Web Studio:

Sugerencia: - > En Citrix DaaS, Web Studio se conoce como Configuración completa.

  1. Selecciona el catálogo de máquinas vacío que creaste anteriormente y, a continuación, selecciona Administrar tokens de inscripción en la barra de acciones.
    1. En la página Administrar tokens de inscripción, haz clic en Generar para crear un token de inscripción. Alternativamente, puedes elegir un token existente que esté en un estado válido.
  1. Sigue el asistente para completar la configuración.

  2. Descarga el token creado correctamente y guárdalo con el privilegio mínimo en una ubicación segura. Más adelante, cuando ejecutes el script de instalación sencilla, la variable CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE te permite especificar la ruta al archivo de token para inscribir el VDA.

Paso 3: Instalar .NET

Además de .NET Runtime, debes instalar .ASP.NET Core Runtime versión 8 en todas las distribuciones de Linux compatibles antes de instalar o actualizar el VDA de Linux.

Si tu distribución de Linux contiene la versión de .NET que necesitas, instálala desde la fuente integrada. De lo contrario, instala .NET desde la fuente de paquetes de Microsoft. Para obtener más información, consulta https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.

Después de instalar .NET, ejecuta el comando which dotnet para encontrar tu ruta de tiempo de ejecución.

Según la salida del comando, establece la ruta binaria de tiempo de ejecución de .NET. Por ejemplo, si la salida del comando es /aa/bb/dotnet, usa /aa/bb como la ruta binaria de .NET.

-  ## Paso 4: Agregar certificados de CA autofirmados

Para obtener detalles sobre la configuración de certificados de CA autofirmados, consulta Configurar certificados autofirmados para WebSocket. Esta sección implica colocar y actualizar certificados de CA en el VDA de Linux.

  • Para RHEL y Rocky Linux:

    Guarda tus certificados de CA autofirmados en el directorio /etc/pki/ca-trust/source/anchors del VDA de Linux y, a continuación, ejecuta el siguiente comando para actualizar los certificados:

     sudo update-ca-trust
     <!--NeedCopy-->
    
  • Para SUSE, Ubuntu y Debian:

    Coloca el certificado de CA raíz en el directorio /usr/local/share/ca-certificates. Luego, ejecuta el comando update-ca-certificate.

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

Paso 5: Descargar el paquete VDA de Linux

  1. Ve a la página de descarga de Citrix Virtual Apps and Desktops.
  2. Expande la versión adecuada de Citrix Virtual Apps™ and Desktops.
  3. Expande Components para encontrar el VDA de Linux. Por ejemplo:

    Componentes para Citrix Virtual Apps and Desktops

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

    Descargas del VDA de Linux

  5. Descarga el paquete del VDA de Linux que coincida con tu distribución de Linux.

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

    Clave pública GPG

    Para verificar la integridad del paquete del VDA de Linux usando la clave pública:

    • Para un paquete RPM, ejecuta los siguientes comandos para importar la clave pública en la base de datos RPM y verificar 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, ejecuta los siguientes comandos para importar la clave pública en la base de datos DEB y verificar 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 6: Instala el paquete del VDA de Linux

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

Para distribuciones RHEL y Rocky Linux:

Nota:

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

  • Antes de instalar el VDA de Linux en RHEL 9.x y Rocky Linux 9.x, actualiza el paquete libsepol a la versión 3.4 o posterior.

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

Nota:

Después de instalar el VDA de Linux en RHEL 8.x/9.x y Rocky Linux 8.x/9.x alojado en GCP, la conexión Ethernet podría perderse y el VDA de Linux podría quedar inaccesible después de un reinicio de la VM. Para solucionar el problema, establece una contraseña de root al iniciar sesión en la VM por primera vez y asegúrate de poder iniciar sesión en la VM como root. Luego, ejecuta los siguientes comandos en la consola después de reiniciar la VM:

> 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, agrega la línea deb http://deb.debian.org/debian/ bullseye main al archivo /etc/apt/sources.list.
  • Para Ubuntu 24.04/22.04 en GCP, deshabilita RDNS. Para ello, agrega la línea rdns = false debajo de [libdefaults] en /etc/krb5.conf.
  • Para distribuciones SUSE:

    1. Para SUSE 15.6 en AWS, Azure y GCP, asegúrate de que:
    • Estás usando libstdc++6 versión 12 o posterior.
    • El parámetro Default_WM en /etc/sysconfig/windowmanager está configurado como “gnome”.
  1. Ejecuta el siguiente comando para instalar el VDA de Linux:

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

Paso 7: Instala los controladores NVIDIA GRID

Habilitar HDX™ 3D Pro requiere que instales los controladores NVIDIA GRID en tu hipervisor y en la máquina VDA.

Para instalar y configurar NVIDIA GRID Virtual GPU Manager (el controlador de host) en los hipervisores específicos, consulta las siguientes guías:

Para instalar y configurar los controladores de VM invitado de NVIDIA GRID, realiza los siguientes pasos generales:

  1. Asegúrate de que la VM invitada esté apagada.
  2. En el panel de control del hipervisor, asigna una GPU a la VM.
  3. Inicia la VM.
  4. Instala el controlador de la VM invitada (de tu proveedor de la nube o NVIDIA) en la VM.

Paso 8: Especifica una base de datos para usar

Puedes especificar SQLite o PostgreSQL para usar editando /etc/xdl/db.conf después de instalar el paquete del VDA de Linux.

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

Nota:

  • Te recomendamos usar SQLite solo para el modo VDI.
  • Para la instalación fácil y MCS, puedes especificar SQLite o PostgreSQL para usar sin tener que instalarlos manualmente. A menos que se especifique lo contrario a través de /etc/xdl/db.conf, el VDA de Linux usa PostgreSQL de forma predeterminada.
  • También puedes usar /etc/xdl/db.conf para configurar el número de puerto para PostgreSQL.

Paso 9: Ejecuta el script de instalación fácil para configurar el entorno y el VDA para completar la instalación

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

Nota:

Antes de configurar el entorno de ejecución, asegúrate de que la configuración regional en_US.UTF-8 esté instalada en tu sistema operativo. Si la configuración regional no está disponible en tu sistema operativo, ejecuta el comando sudo locale-gen en_US.UTF-8. Para Debian, edita el archivo /etc/locale.gen descomentando la línea # en_US.UTF-8 UTF-8 y luego ejecuta el comando sudo locale-gen.

ctxinstall.sh

ctxinstall.sh es el script de instalación fácil para realizar algunas configuraciones previas y configurar las variables de entorno de ejecución del VDA.

  • Solo el usuario root puede ejecutar este script.

  • La instalación fácil usa /opt/Citrix/VDA/sbin/ctxinstall.conf como su archivo de configuración para establecer, guardar y sincronizar los valores de todas las variables de entorno usadas. Te recomendamos leer la plantilla (ctxinstall.conf.tmpl) detenidamente y luego personalizar tu propio ctxinstall.conf. Cuando crees el archivo de configuración por primera vez, usa cualquiera de las siguientes formas:
    • Copiando el archivo de plantilla /opt/Citrix/VDA/sbin/ctxinstall.conf.tmpl y guardándolo como /opt/Citrix/VDA/sbin/ctxinstall.conf.
    • Ejecutando ctxinstall.sh. Cada vez que ejecutes ctxinstall.sh, tu entrada se guarda en /opt/Citrix/VDA/sbin/ctxinstall.conf.
  • La instalación fácil admite la ejecución modular. Los módulos incluyen comprobación previa, instalación, configuración de dominio, configuración y verificación.

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

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

Nota:

  • Siguiendo el principio de privilegio mínimo, asegúrate de que solo el usuario root pueda leer /opt/Citrix/VDA/sbin/ctxinstall.conf porque la contraseña de unión al dominio podría estar establecida en el archivo.
  • Al desinstalar el VDA de Linux se eliminan los archivos de /opt/Citrix/VDA. Te recomendamos hacer una copia de seguridad de /opt/Citrix/VDA/sbin/ctxinstall.conf antes de desinstalar el VDA.

Puedes ejecutar ctxinstall.sh en modo interactivo o en modo silencioso. Antes de ejecutar el script, establece las siguientes variables de entorno:

  • CTX_XDL_NON_DOMAIN_JOINED=’y|n’ – Si se debe unir la máquina a un dominio. El valor predeterminado es ‘n’. Para escenarios sin unión a dominio, establécelo en ‘y’.

  • CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE=’<path-to-token-file-on-vda-machine>‘ – Para crear un VDA sin unión a dominio mediante la instalación fácil, necesitas un archivo de token para inscribir el VDA en un catálogo de máquinas del Delivery Controller. Guarda el token con el privilegio mínimo en una ubicación segura.

  • CTX_XDL_VDI_MODE=’y|n’ – Si se debe configurar la máquina como un modelo de entrega de escritorio dedicado (VDI) o un modelo de entrega de escritorio compartido alojado. Para entornos HDX 3D Pro, establece el valor en ‘y’.
  • CTX_XDL_HDX_3D_PRO=’y|n’ – El VDA de Linux es compatible con HDX 3D Pro, un conjunto de tecnologías de aceleración de GPU diseñadas para optimizar la virtualización de aplicaciones con gráficos enriquecidos. 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 del VDA de Linux se inician cuando la configuración está completa.

  • 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 del VDA de Linux requieren que se permitan las conexiones de red entrantes a través del firewall del sistema. Puedes abrir los puertos necesarios (por defecto, los puertos 80 y 1494) automáticamente en el firewall del sistema para Linux Virtual Desktop.

  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/mate – Especifica el entorno de escritorio GNOME, GNOME Classic o MATE que se usará en las sesiones. Si dejas la variable sin especificar, se usa el escritorio predeterminado configurado en el VDA.

  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/kde/mate/xfce/’<none>‘ – Especifica el entorno de escritorio GNOME, GNOME Classic, KDE, MATE o Xfce que se usará en las sesiones. Si lo estableces en ‘<none>’, se usa el escritorio predeterminado configurado en el VDA. Puedes especificar un entorno de escritorio para usar en las sesiones mediante la variable CTX_XDL_DESKTOP_ENVIRONMENT. También puedes cambiar entre entornos de escritorio ejecutando comandos o usando la bandeja del sistema. Para obtener más información, consulta Comandos para cambiar de escritorio y Bandeja del sistema.

  • CTX_XDL_DOTNET_RUNTIME_PATH=’<path-to-install-dotnet-runtime>‘ – La ruta para instalar .NET para admitir el nuevo servicio de agente de broker (ctxvda). La ruta predeterminada es ‘/usr/bin’.

  • CTX_XDL_VDA_PORT=’<port-number>‘ – El VDA de Linux se comunica con los Delivery Controllers a través de un puerto TCP/IP.

Modo interactivo

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

Modo silencioso

En modo silencioso, debes establecer las variables anteriores mediante /opt/Citrix/VDA/sbin/ctxinstall.conf o el comando export. Después, ejecuta ctxinstall.sh -S (ten en cuenta que la letra S aquí está en mayúsculas). Si no se establecen todas las variables requeridas o algún valor no es válido, ctxinstall.sh aborta la ejecución, a menos que haya valores predeterminados.

Si lo estableces, el valor exportado para cada variable sobrescribe el valor en /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|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-->

Al ejecutar el comando sudo, escribe la opción -E para pasar las variables de entorno existentes al nuevo shell que crea. Te recomendamos crear un archivo de script de shell a partir de los comandos anteriores con #!/bin/bash como primera línea.

Alternativamente, puedes especificar todas las variables usando un solo comando.

Para configurar las variables de entorno de ejecución del VDA (aquellas variables que comienzan con ‘CTX_XDL_’), puedes ejecutar ctxinstall.sh -s (ten en cuenta que la letra s aquí está en minúsculas).

Paso 10: Ejecuta XDPing

Ejecuta sudo /opt/Citrix/VDA/bin/xdping para comprobar si hay problemas de configuración comunes en un entorno Linux VDA. Para obtener más información, consulta XDPing.

Paso 11: Ejecuta el Linux VDA

Inicia el Linux VDA:

Para iniciar los servicios de Linux VDA:

sudo systemctl start ctxhdx.service

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

Detén el 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, ejecuta el comando systemctl stop ctxmonitord para detener el demonio del servicio de supervisión. De lo contrario, el demonio del servicio de supervisión reiniciará los servicios que detuviste.

Reinicia el 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-->

Comprueba el estado del 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 12: Crea grupos de entrega

El proceso para crear un grupo de entrega y agregar catálogos de máquinas que contengan máquinas Linux VDA es casi idéntico al de las máquinas Windows VDA. Para obtener una descripción más detallada de cómo completar estas tareas, consulta Crear grupos de entrega.

Para crear grupos de entrega que contengan catálogos de máquinas Linux VDA, se aplican las siguientes restricciones:

  • Asegúrate de que los usuarios y grupos de AD que selecciones se hayan configurado correctamente para iniciar sesión en las máquinas Linux VDA.
  • No permitas el inicio de sesión de usuarios no autenticados (anónimos).
  • No mezcles el grupo de entrega con catálogos de máquinas que contengan máquinas Windows.

Importante:

La publicación de aplicaciones es compatible con Linux VDA versión 1.4 y posteriores. Sin embargo, el Linux VDA no admite la entrega de escritorios y aplicaciones a la misma máquina.

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

Paso 13: Habilita la asignación de cuentas locales

¿Qué ocurre si la asignación de cuentas locales no está habilitada?

Las sesiones alojadas en VDA no unidos a un dominio fallan al iniciar sesión, mostrando un mensaje de contraseña pero sin aceptar la contraseña correcta. Se pueden encontrar errores similares a los siguientes en el archivo 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-->

Habilita la asignación de cuentas locales

Para asegurarte de que los usuarios puedan iniciar sesión en un Linux VDA no unido a un dominio, habilita la asignación de cuentas locales usando el siguiente comando:

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

Para una implementación local, ejecuta el comando directamente en el Delivery Controller. Para una implementación de Citrix DaaS, ejecuta el comando a través del SDK de PowerShell remoto de Citrix Virtual Apps and Desktops.