Agente de entrega virtual de Linux 2411

Crea un VDA Linux no unido a un dominio mediante la instalación sencilla (versión preliminar)

Este artículo te guía a través del método de instalación sencilla para crear e inscribir un VDA 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:

Paso 1: Crea 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 en él. El VDA Linux no admite el uso de un archivo de token para la inscripción en un catálogo de máquinas administrado por energía.

    • El proceso para crear catálogos de máquinas y agregar máquinas VDA 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 Linux, existen algunas restricciones que diferencian el proceso de crear catálogos de máquinas para máquinas 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 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.
    • Los catálogos de máquinas de Acceso con PC remoto solo son compatibles con máquinas unidas a un dominio y no son compatibles con máquinas no unidas a un dominio.

Nota:

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

Paso 2: Crea un token de inscripción

Para crear un VDA 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 Linux no admite el uso de un archivo de token para la inscripción en un catálogo de máquinas administrado por energía.

Para crear un token de inscripción, completa los siguientes pasos en Citrix Web Studio:

Consejo: - > 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 estado válido.
  1. Sigue el asistente para completar la configuración.

  2. Descarga el token creado correctamente y guárdalo con el menor privilegio en una ubicación segura. Más tarde, 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: Instala .NET

Además del tiempo de ejecución de .NET (.NET Runtime), debes instalar .ASP.NET Core Runtime en todas las distribuciones de Linux compatibles antes de instalar o actualizar el VDA Linux. La versión 6 es necesaria para Amazon Linux 2. La versión 8 es necesaria para otras distribuciones.

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 del tiempo de ejecución de .NET. Por ejemplo, si la salida del comando es /aa/bb/dotnet, usa /aa/bb como ruta binaria de .NET.

-  ## Paso 4: Agrega certificados de CA autofirmados

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

  • Para RHEL, Rocky Linux y Amazon Linux 2:

    Guarda tus certificados de CA autofirmados en el directorio /etc/pki/ca-trust/source/anchors en el VDA 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: Descarga el paquete del VDA 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 Componentes para encontrar el VDA Linux. Por ejemplo:

    Componentes para Citrix Virtual Apps and Desktops

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

    Descargas del VDA Linux

  5. Descarga el paquete del VDA 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 Linux. Por ejemplo:

    Clave pública GPG

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

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

Para las distribuciones Amazon Linux 2, CentOS, 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.4/9.2 y Rocky Linux 9.4/9.2, 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, es posible que se pierda la conexión Ethernet y que el VDA de Linux no sea accesible después de reiniciar 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 que puedes iniciar sesión en la VM como root. A continuación, ejecuta los siguientes comandos en la consola después de reiniciar la VM:

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

Para las 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, 20.04 en GCP, deshabilita RDNS. Para ello, agrega la línea rdns = false debajo de [libdefaults] en /etc/krb5.conf.
  • Para las 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á establecido en “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

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

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

Para instalar y configurar los controladores de VM invitada 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 VM invitada (de tu proveedor de la nube o de 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 de 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 que uses SQLite solo para el modo VDI.
  • Para una instalación sencilla 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 sencilla para configurar el entorno y el VDA y completar la instalación

Después de instalar el paquete de VDA de Linux, configura el entorno de ejecución usando el 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 sencilla para realizar algunas preconfiguraciones y establecer las variables de entorno de ejecución del VDA.

  • Solo el usuario root puede ejecutar este script.

  • La instalación sencilla usa /opt/Citrix/VDA/sbin/ctxinstall.conf como archivo de configuración para establecer, guardar y sincronizar los valores de todas las variables de entorno utilizadas. Te recomendamos que leas la plantilla (ctxinstall.conf.tmpl) con atención y luego personalices tu propio ctxinstall.conf. Cuando crees el archivo de configuración por primera vez, usa una de las siguientes maneras:
    • 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 guardará en /opt/Citrix/VDA/sbin/ctxinstall.conf.
  • La instalación sencilla admite la ejecución modular. Los módulos incluyen la comprobación previa, la instalación, la configuración de dominio, la configuración y la 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 establecerse en el archivo.
  • Al desinstalar el VDA de Linux, se eliminan los archivos de /opt/Citrix/VDA. Te recomendamos que hagas 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=’<ruta-al-archivo-de-token-en-la-máquina-vda>‘ – Para crear un VDA sin unión a dominio mediante una instalación sencilla, necesitas un archivo de token para inscribir el VDA en un catálogo de máquinas del Delivery Controller. Guarda el token con el mínimo privilegio 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 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 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 con 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á configurada, ctxinstall.sh te pedirá confirmación en caso de que quieras cambiarla.

Modo silencioso

En modo silencioso, debes establecer las variables anteriores usando /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 que crees 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 con un entorno VDA de Linux. Para obtener más información, consulta XDPing.

Paso 11: Ejecuta el VDA de Linux

Inicia el VDA de Linux:

Para iniciar los servicios del VDA de Linux:

sudo systemctl start ctxhdx.service

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

Detén el VDA de Linux:

Para detener los servicios del VDA de Linux:

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 monitorización. De lo contrario, el demonio del servicio de monitorización reinicia los servicios que detuviste.

Reinicia el VDA de Linux:

Para reiniciar los servicios del VDA de Linux:

sudo systemctl stop ctxvda.service

sudo systemctl restart ctxhdx.service

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

Comprueba el estado del VDA de Linux:

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

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 contienen máquinas VDA de Linux es casi idéntico al de las máquinas VDA de Windows. Para 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 VDA de Linux, 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 VDA de Linux.
  • 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 el VDA de Linux versión 1.4 y posteriores. Sin embargo, el VDA de Linux 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 2407.

Paso 13: Habilita la asignación de cuentas locales

Qué sucede 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 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 VDA de Linux 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.