Linux Virtual Delivery Agent

Crear VDA unidos a un dominio usando la instalación fácil

Importante:

  • Para instalaciones nuevas, te recomendamos consultar este artículo para una instalación rápida. Este artículo explica cómo instalar y configurar el VDA de Linux usando la instalación fácil. La instalación fácil ahorra tiempo y trabajo, y es menos propensa a errores que la instalación manual. Te ayuda a configurar un entorno en funcionamiento del VDA de Linux instalando los paquetes necesarios y personalizando los archivos de configuración automáticamente.

  • La instalación fácil no admite la unión a un dominio usando Quest.

  • Para crear VDA no unidos a un dominio, debes usar Machine Creation Services (MCS). Para obtener más información, consulta Crear VDA de Linux no unidos a un dominio.

  • Para conocer las funciones disponibles para los VDA no unidos a un dominio, ve a VDA no unidos a un dominio.

  • Paso 1: Prepara la información de configuración y la máquina Linux

  • Recopila la siguiente información de configuración necesaria para la instalación fácil:

  • Nombre de host – Nombre de host de la máquina donde se instalará el VDA de Linux.
  • Dirección IP del servidor de nombres de dominio.
  • Dirección IP o nombre de cadena del servidor NTP.
  • Nombre de dominio – El nombre NetBIOS del dominio.
  • Nombre de reino – El nombre de reino de Kerberos.
  • Nombre de dominio completo (FQDN) del dominio.
  • Método de integración de AD - El método de integración de Active Directory. Actualmente, la instalación fácil admite Winbind, SSSD, Centrify y PBIS.
  • Nombre de usuario – El nombre del usuario que une la máquina al dominio.
  • Contraseña - La contraseña del usuario que une la máquina al dominio.
  • Nombre del grupo de trabajo – El nombre del grupo de trabajo. Opcional. A menos que se especifique lo contrario, tiene el mismo valor que el nombre de dominio.
  • OU – La unidad organizativa. Opcional.

Importante:

  • Para instalar el VDA de Linux, verifica que los repositorios se hayan agregado correctamente en la máquina Linux.
  • Para iniciar una sesión, verifica que el sistema X Window y los entornos de escritorio estén instalados.
  • Por seguridad, la instalación fácil no guarda la contraseña de unión al dominio. Cada vez que ejecutes el script de instalación fácil (ctxinstall.sh) en modo interactivo, debes introducir la contraseña de unión al dominio manualmente. En modo silencioso, debes establecer la contraseña de unión al dominio en /Citrix/VDA/sbin/ctxinstall.conf o exportar la contraseña. Te recomendamos no usar la cuenta de administrador para la unión al dominio. En su lugar, delega los permisos de unión al dominio a un usuario de Active Directory que no sea la cuenta de administrador. Para hacerlo, delega el control en el controlador de dominio usando el Asistente para la delegación de control.

Paso 2: Prepara el hipervisor

Se requieren algunos cambios al ejecutar el VDA de Linux como una máquina virtual en un hipervisor compatible. Realiza los siguientes cambios según la plataforma de hipervisor en uso. No se requieren cambios si ejecutas la máquina Linux en hardware bare metal.

-  ### Corrige la sincronización de la hora en Citrix Hypervisor™

Cuando la función de sincronización de hora de Citrix Hypervisor está habilitada, dentro de cada VM Linux paravirtualizada experimentarás problemas con NTP y Citrix Hypervisor. Ambos intentan administrar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, asegúrate de que el reloj del sistema dentro de cada invitado Linux esté sincronizado con el NTP. Este caso requiere deshabilitar la sincronización de hora del host. No se requieren cambios en el modo HVM.

Si ejecutas un kernel de Linux paravirtualizado con las herramientas de Citrix VM instaladas, puedes verificar si la función de sincronización de hora de Citrix Hypervisor está presente y habilitada desde la VM Linux:

su -

cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

Este comando devuelve 0 o 1:

-  0 - La función de sincronización de hora está habilitada y debe deshabilitarse.
  • 1 - La función de sincronización de hora está deshabilitada y no se requiere ninguna acción adicional.

Si el archivo /proc/sys/xen/independent_wallclock no está presente, los siguientes pasos no son necesarios.

Si está habilitada, deshabilita la función de sincronización de hora escribiendo 1 en el archivo:

sudo echo 1 > /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

Para que este cambio sea permanente y persistente después de reiniciar, edita el archivo /etc/sysctl.conf y agrega la línea:

xen.independent_wallclock = 1

Para verificar estos cambios, reinicia el sistema:

su -

cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

Este comando devuelve el valor 1.

Corrige la sincronización de la hora en Microsoft Hyper-V

-  Las VM Linux con los servicios de integración de Hyper-V Linux instalados pueden aplicar la función de sincronización de hora de Hyper-V para usar la hora del sistema operativo host. Para asegurar que el reloj del sistema permanezca preciso, debes habilitar esta función junto con los servicios NTP.

Desde el sistema operativo de administración:

  1. Abre la consola del Administrador de Hyper-V.
      1. Para la configuración de una VM Linux, selecciona Servicios de integración.
  2. Asegúrate de que Sincronización de hora esté seleccionada.

Nota:

Este enfoque es diferente al de VMware y Citrix Hypervisor, donde la sincronización de hora del host está deshabilitada para evitar conflictos con NTP. La sincronización de hora de Hyper-V puede coexistir y complementar la sincronización de hora de NTP.

Corrige la sincronización de la hora en ESX y ESXi

Cuando la función de sincronización de hora de VMware está habilitada, dentro de cada VM Linux paravirtualizada experimentarás problemas con NTP y el hipervisor. Ambos intentan sincronizar el reloj del sistema. Para evitar que el reloj se desincronice con otros servidores, asegúrate de que el reloj del sistema dentro de cada invitado Linux esté sincronizado con el NTP. Este caso requiere deshabilitar la sincronización de hora del host.

Si ejecutas un kernel de Linux paravirtualizado con las herramientas de VMware instaladas:

  1. Abre vSphere Client.
  2. Modifica la configuración de la VM Linux.
  3. En el cuadro de diálogo Propiedades de la máquina virtual, abre la ficha Opciones.
  4. Selecciona VMware Tools.
  5. En el cuadro Avanzado, desmarca Sincronizar la hora del invitado con el host.

Paso 3: Instala .NET Runtime 6.0

Antes de instalar el VDA de Linux, instala .NET Runtime 6.0 según las instrucciones en https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.

Después de instalar .NET Runtime 6.0, 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: Descarga el paquete del 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. Haz clic en Componentes para descargar el paquete del VDA de Linux que coincida con tu distribución de Linux y la clave pública GPG que puedes usar para verificar la integridad del paquete del VDA de Linux.

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

  • Para un paquete RPM, importa la clave pública en la base de datos RPM y ejecuta los siguientes comandos:

     ```
     -  rpmkeys --import <path to the public key>
     rpm --checksig --verbose <path to the Linux VDA package>
    
     <!--NeedCopy--> ```
    
    • Para un paquete DEB, importa la clave pública en la base de datos DEB y ejecuta los siguientes comandos:

       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: Instalar el paquete de Linux VDA

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

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

Nota:

  • Para RHEL y CentOS, instala el repositorio EPEL antes de poder instalar el Linux VDA 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 Linux VDA en RHEL 9.1/9.0 y Rocky Linux 9.1/9.0, 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 Linux VDA 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 Linux VDA no sea accesible después de un reinicio de la VM. Para solucionar el problema, ejecuta los siguientes comandos antes de reiniciar la VM:

nmcli dev connect eth0
service NetworkManager restart
<!--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.3, agrega la línea deb http://deb.debian.org/debian/ bullseye main al archivo /etc/apt/sources.list.

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

Para distribuciones SUSE:

    1. Para SUSE 15.4 en AWS, Azure y GCP, asegúrate de que:
    • Estás usando la versión 12 o posterior de libstdc++6.
    • El parámetro Default_WM en /etc/sysconfig/windowmanager está establecido en “gnome”.
    1. Ejecuta el siguiente comando para instalar el Linux VDA:
     -  zypper -i install <PATH>/<Linux VDA RPM>
    
     <!--NeedCopy-->
    
  • Paso 6: Instalar los controladores NVIDIA GRID

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

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

  • Citrix Hypervisor
  • VMware ESX
  • Nutanix AHV

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

    1. Asegúrate de que la VM invitada esté apagada.
    1. En el panel de control del hipervisor, asigna una GPU a la VM.
  1. Inicia la VM.
  2. Instala el controlador de VM invitada en la VM.

Paso 7: Especificar una base de datos para usar

Como función experimental, puedes usar SQLite además de PostgreSQL. También puedes cambiar entre SQLite y PostgreSQL editando /etc/xdl/db.conf después de instalar el paquete de Linux VDA.

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 sencilla y MCS, puedes cambiar entre SQLite y PostgreSQL sin tener que instalarlos manualmente. A menos que se especifique lo contrario a través de /etc/xdl/db.conf, el Linux VDA usa PostgreSQL de forma predeterminada.
  • También puedes usar /etc/xdl/db.conf para configurar el número de puerto para PostgreSQL.
  • Paso 8: Configurar el entorno de ejecución para completar la instalación

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

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 que configura el entorno de ejecución para el Linux VDA. Para obtener más información, usa el comando de ayuda, ctxinstall.sh -h.

-  La instalación sencilla 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 necesarias para la GUI y ctxinstall.sh. 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 guardará en /opt/Citrix/VDA/sbin/ctxinstall.conf.

  • Nota:

    • Siguiendo el principio de mínimo privilegio, 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.

        • Desinstalar el Linux VDA elimina 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_EASYINSTALL_HOSTNAME=host-name – El nombre de host del servidor Linux VDA.
  • CTX_EASYINSTALL_DNS=ip-address-of-dns – La dirección IP de DNS.
  • CTX_EASYINSTALL_NTPS=address-of-ntps – La dirección IP o el nombre de cadena del servidor NTP.
  • CTX_EASYINSTALL_DOMAIN=domain-name – El nombre NetBIOS del dominio.
  • CTX_EASYINSTALL_REALM=realm-name – El nombre de dominio Kerberos.
  • CTX_EASYINSTALL_FQDN=ad-fqdn-name
  • CTX_EASYINSTALL_USERNAME=domain-user-name – El nombre del usuario que une la máquina al dominio.
    • CTX_EASYINSTALL_PASSWORD=password – La contraseña del usuario que une la máquina al dominio.

    Nota:

     -  > Te recomendamos que no uses la cuenta de administrador para la unión al dominio. En su lugar, delega los permisos de unión al dominio a un usuario de Active Directory que no sea la cuenta de administrador. Para ello, delega el control en el controlador de dominio mediante el **Asistente para la delegación de control**.
    

Las siguientes cuatro variables son opcionales. Aunque no estén configuradas, ctxinstall.sh no se abortará en modo silencioso y no se te pedirá la entrada del usuario en modo interactivo. Puedes configurarlas solo exportando sus valores o editando /Citrix/VDA/sbin/ctxinstall.conf.

  • CTX_EASYINSTALL_WORKGROUP=workgroup-name – El nombre del grupo de trabajo es el nombre de dominio de forma predeterminada. Puedes personalizar un grupo de trabajo que se adapte a tus necesidades. Esta variable es opcional.

     -  **CTX_EASYINSTALL_OU=ou-value** – Los valores de OU varían según los diferentes métodos de AD. Para ver un ejemplo de valores de OU, consulta la tabla en la sección [Consideraciones](#considerations) de este artículo. Esta variable es opcional.
     -  **CTX_EASYINSTALL_CENTRIFY_LOCAL_PATH=centrify-local-path** – La instalación fácil ayuda a descargar el paquete de Centrify de Internet. Sin embargo, si Centrify ya está instalado, puedes obtener el paquete de Centrify de un directorio local definido por esta variable. Esta variable es opcional.
     -  **CTX_EASYINSTALL_PBIS_LOCAL_PATH= pbis-local-path** – La instalación fácil ayuda a descargar el paquete de PBIS de Internet. Sin embargo, si PBIS ya está instalado, puedes obtener el paquete de PBIS de un directorio local definido por esta variable. Esta variable es opcional.
    
    • La ejecución de ctxinstall.sh llama a otro script, ctxsetup.sh. ctxsetup.sh usa las siguientes variables:

    • CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N – El Linux VDA admite la especificación de un nombre de Delivery Controller mediante un registro CNAME de DNS.
    • CTX_XDL_DDC_LIST=’list-ddc-fqdns’ – El Linux VDA requiere una lista de Nombres de dominio completos (FQDN) de Delivery Controller separados por espacios para registrarte con un Delivery Controller. Se debe especificar al menos un FQDN o CNAME.
  • CTX_XDL_VDA_PORT=port-number – El Linux VDA se comunica con los Delivery Controllers a través de un puerto TCP/IP.
    • 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. 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_AD_INTEGRATION=winbind | sssd | centrify | pbis – El Linux VDA requiere la configuración de Kerberos para autenticarte con los Delivery Controllers. La configuración de Kerberos se determina a partir de la herramienta de integración de Active Directory instalada y configurada en el sistema.
  • CTX_XDL_HDX_3D_PRO=Y | N – El Linux VDA admite 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_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_SITE_NAME=dns-name – El Linux VDA descubre servidores LDAP a través de DNS. Para limitar los resultados de búsqueda de DNS a un sitio local, especifica un nombre de sitio DNS. Si no es necesario, establécelo en <none>.
  • CTX_XDL_LDAP_LIST=’list-ldap-servers’ – El Linux VDA consulta DNS para descubrir servidores LDAP. Si DNS no puede proporcionar registros de servicio LDAP, puedes proporcionar una lista de FQDN de LDAP separados por espacios con puertos LDAP. Por ejemplo, ad1.mycompany.com:389 ad2.mycompany.com:3268 ad3.mycompany.com:3268. Si especificas el número de puerto LDAP como 389, el Linux VDA consulta cada servidor LDAP en el dominio especificado en modo de sondeo. Si hay x número de directivas e y número de servidores LDAP, el Linux VDA realiza un total de X multiplicado por Y consultas. Si el tiempo de sondeo supera el umbral, los inicios de sesión pueden fallar. Para habilitar las consultas LDAP más rápidas, habilita el Catálogo global en un controlador de dominio y especifica el número de puerto LDAP relevante como 3268. Esta variable se establece en <none> de forma predeterminada.
  • CTX_XDL_SEARCH_BASE=search-base-set – El Linux VDA consulta LDAP a través de una base de búsqueda establecida en la raíz del dominio de Active Directory (por ejemplo, DC=mycompany,DC=com). Para mejorar el rendimiento de la búsqueda, puedes especificar una base de búsqueda (por ejemplo, OU=VDI,DC=mycompany,DC=com). Si no es necesario, establécelo en <none>.
  • CTX_XDL_FAS_LIST=’list-fas-servers’ – Los servidores del Servicio de autenticación federada (FAS) se configuran a través de la Directiva de grupo de AD. El Linux VDA no es compatible con la Directiva de grupo de AD, pero puedes proporcionar una lista de servidores FAS separados por punto y coma. La secuencia debe ser la misma que la configurada en la Directiva de grupo de AD. Si se elimina alguna dirección de servidor, rellena su espacio en blanco con la cadena de texto <none> y no modifiques el orden de las direcciones de los servidores. Para comunicarte correctamente con los servidores FAS, asegúrate de agregar un número de puerto coherente con el especificado en los servidores FAS, por ejemplo, CTX_XDL_FAS_LIST=’fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number’.
  • CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime – La ruta para instalar .NET Runtime 6.0 para admitir el nuevo servicio de agente de intermediación (ctxvda). La ruta predeterminada es /usr/bin.
    • 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 actualmente instalado en el VDA. Sin embargo, si el escritorio actualmente instalado es MATE, debes establecer el valor de la variable en mate.

    • CTX_XDL_START_SERVICE=Y | N – Determina si los servicios de Linux VDA se inician cuando se completa la configuración.

  • CTX_XDL_TELEMETRY_SOCKET_PORT – El puerto de socket para escuchar a Citrix Scout. El puerto predeterminado es 7503.
  • CTX_XDL_TELEMETRY_PORT – El puerto para comunicarse con Citrix Scout. El puerto predeterminado es 7502.

Consideraciones

  • El nombre del grupo de trabajo es el nombre de dominio de forma predeterminada. Para personalizar un grupo de trabajo en tu entorno, establece la variable de entorno CTX_EASYINSTALL_WORKGROUP en /opt/Citrix/VDA/sbin/ctxinstall.conf.

  • Para unir tu VDA a una OU específica, haz lo siguiente:

      1. Asegúrate de que la OU específica exista en el controlador de dominio.

      Para ver un ejemplo de OU, consulta la siguiente captura de pantalla

      An example OU

    1. Establece la variable de entorno CTX_EASYINSTALL_OU en /opt/Citrix/VDA/sbin/ctxinstall.conf.

      Los valores de OU varían según los diferentes métodos de AD. La siguiente tabla refleja los nombres de OU de ejemplo en la captura de pantalla anterior. Puedes usar cualquier otro nombre de OU en tu organización.

      OS Winbind SSSD Centrify PBIS
      Amazon Linux 2 "Linux/amazon" "Linux/amazon" "XD.LOCAL/Linux/amazon" "Linux/amazon"
Debian "Linux/debian" "Linux/debian" "XD.LOCAL/Linux/debian" "Linux/debian"
RHEL 9.1/9.0, Rocky Linux 9.1/9.0 "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" N/A N/A
RHEL 8.x "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" "XD.LOCAL/Linux/redhat" "Linux/redhat"
Rocky Linux 8.x "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" N/A N/A
RHEL 7 "Linux/redhat" "Linux/redhat" "XD.LOCAL/Linux/redhat" "Linux/redhat"
SUSE "Linux/suse" "Linux/suse" "XD.LOCAL/Linux/suse" "Linux/suse"
Ubuntu "Linux/ubuntu" "Linux/ubuntu" "XD.LOCAL/Linux/ubuntu" "Linux/ubuntu"
  • Centrify no es compatible con la configuración DNS puramente IPv6. Se requiere al menos un servidor DNS que utilice IPv4 en /etc/resolv.conf para que adclient encuentre los servicios de AD correctamente.

    Registro:

     ADSITE   : Check that this machine's subnet is in a site known by AD   : Failed
              : This machine's subnet is not known by AD.
              : We guess you should be in the site Site1.
     <!--NeedCopy-->
    

    Este problema es exclusivo de Centrify y su configuración. Para resolver este problema, haz lo siguiente:

    a. Abre Herramientas administrativas en el controlador de dominio. b. Selecciona Sitios y servicios de Active Directory. c. Agrega una dirección de subred adecuada para Subredes.

  • La instalación sencilla es compatible con IPv6 puro a partir de Linux VDA 7.16. Se aplican las siguientes condiciones previas y limitaciones:

    • Tu repositorio de Linux debe estar configurado para garantizar que tu máquina pueda descargar los paquetes necesarios a través de redes IPv6 puras.
    • Centrify no es compatible con redes IPv6 puras.

    Nota:

  • Si tu red es puramente IPv6 y toda tu entrada está en el formato IPv6 adecuado, el VDA se registra con el Delivery Controller™ a través de IPv6. Si tu red tiene una configuración híbrida de IPv4 e IPv6, el tipo de la primera dirección IP de DNS determina si se utiliza IPv4 o IPv6 para el registro.

  • También puedes cambiar el entorno de escritorio para un usuario de sesión de destino siguiendo estos pasos:

    1. Crea un archivo .xsession o .Xclients en el directorio $HOME/<username> del VDA. Si usas Amazon Linux 2, crea un archivo .Xclients. Si usas otras distribuciones, crea un archivo .xsession.
    2. Edita el archivo .xsession o .Xclients para especificar un entorno de escritorio según las distribuciones.

      • Para el escritorio MATE

         MSESSION="$(type -p mate-session)"  
         if [ -n "$MSESSION" ]; then  
         exec mate-session  
         fi
         <!--NeedCopy-->
        
      • Para el escritorio 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 el escritorio GNOME

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

    A partir de la versión 2209, los usuarios de sesión pueden personalizar sus entornos de escritorio. Para habilitar esta función, debes instalar entornos de escritorio intercambiables en el VDA con antelación. Para obtener más información, consulta Entornos de escritorio personalizados por usuarios de sesión.

  • Si eliges Centrify como método para unirte a un dominio, el script ctxinstall.sh requiere el paquete de Centrify. Formas en que ctxinstall.sh puede obtener el paquete de Centrify:

  • Si eliges PBIS como método para unirte a un dominio, el script ctxinstall.sh requiere el paquete de PBIS. Formas en que ctxinstall.sh puede obtener el paquete de PBIS:

Modo interactivo

Para ejecutar el script ctxinstall.sh en modo interactivo, ejecuta el comando sudo /opt/Citrix/VDA/sbin/ctxinstall.sh sin la opción -S. Escribe el valor de la variable relevante en cada solicitud de la interfaz de línea de comandos. Si una variable ya está establecida, 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 de eso, ejecuta ctxinstall.sh -S. 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.

El valor exportado para cada variable sobrescribe el valor en /Citrix/VDA/sbin/ctxinstall.conf, a menos que no esté establecido. Todos los valores actualizados se guardan en /Citrix/VDA/sbin/ctxinstall.conf, excepto la contraseña de unión al dominio. Por lo tanto, en modo silencioso, debes establecer la contraseña de unión al dominio en /Citrix/VDA/sbin/ctxinstall.conf o exportar la contraseña.

export CTX_EASYINSTALL_HOSTNAME=host-name

export CTX_EASYINSTALL_DNS=ip-address-of-dns

export CTX_EASYINSTALL_NTPS=address-of-ntps

export CTX_EASYINSTALL_DOMAIN=domain-name

-  export CTX_EASYINSTALL_REALM=realm-name

export CTX_EASYINSTALL_FQDN=ad-fqdn-name

export CTX_EASYINSTALL_USERNAME=domain-user-name

export CTX_EASYINSTALL_PASSWORD=password

export CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N

export CTX_XDL_DDC_LIST='list-ddc-fqdns'

export CTX_XDL_VDA_PORT=port-number

export CTX_XDL_REGISTER_SERVICE=Y | N

export CTX_XDL_ADD_FIREWALL_RULES=Y | N

export CTX_XDL_AD_INTEGRATION=winbind | centrify | sssd | pbis

export CTX_XDL_HDX_3D_PRO=Y | N

export CTX_XDL_VDI_MODE=Y | N

export CTX_XDL_SITE_NAME=dns-site-name | '<none>'

export CTX_XDL_LDAP_LIST='list-ldap-servers' | '<none>'

export CTX_XDL_SEARCH_BASE=search-base-set | '<none>'

export CTX_XDL_FAS_LIST='list-fas-servers' | '<none>'

export CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime

export CTX_XDL_DESKTOP_ENVIRONMENT= gnome | gnome-classic | mate | '<none>'

export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number

export CTX_XDL_TELEMETRY_PORT=port-number

export CTX_XDL_START_SERVICE=Y | N

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.

GUI

Si usas SSSD o Winbind como método de unión al dominio, puedes usar la instalación fácil a través de la GUI. Ejecuta el comando /opt/Citrix/VDA/bin/easyinstall en el entorno de escritorio de tu VDA y luego sigue las instrucciones de la GUI de instalación fácil.

GUI de instalación fácil

La GUI de instalación fácil te guía a través de las siguientes operaciones:

  • Comprobar el entorno del sistema
  • Instalar dependencias
  • Unir el VDA a un dominio especificado
  • Configurar el entorno de tiempo de ejecución

Consejo:

  • Haz clic en Guardar para guardar la configuración de las variables en un archivo local en la ruta que especifiques. Haz clic en Cargar para cargar la configuración de las variables desde un archivo que especifiques. Para obtener información sobre cómo configurar las variables de MCS, consulta Paso 3: Preparar una imagen maestra.
  • El script ctxinstall.sh guarda todas las configuraciones de variables, excepto la contraseña de unión al dominio, en /Citrix/VDA/sbin/ctxinstall.conf.

Paso 9: Ejecuta XDPing

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

Paso 10: Ejecuta el VDA de Linux

Inicia el VDA de Linux:

Para iniciar los servicios del VDA de Linux:

sudo /sbin/service ctxhdx start

sudo /sbin/service ctxvda start
<!--NeedCopy-->

Detén el VDA de Linux:

Para detener los servicios del VDA de Linux:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop
<!--NeedCopy-->

Nota:

Antes de detener los servicios ctxvda y ctxhdx, ejecuta el comando service ctxmonitorservice stop 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 VDA de Linux:

Para reiniciar los servicios del VDA de Linux:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

sudo /sbin/service ctxvda start
<!--NeedCopy-->

Comprueba el estado del VDA de Linux:

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

sudo /sbin/service ctxvda status

sudo /sbin/service ctxhdx status
<!--NeedCopy-->

Paso 11: Crea catálogos de máquinas

El proceso para crear catálogos de máquinas y agregar máquinas VDA de Linux es similar al enfoque tradicional del 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 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 de Linux y Windows en el mismo catálogo de máquinas.

Nota:

Las versiones anteriores de Citrix Studio no admitían la noción de un “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.

Consejo:

Si quitas y vuelves a unir una máquina al dominio de Active Directory, debes quitar y volver a agregar la máquina al catálogo de máquinas.

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 VDA de Linux es casi idéntico al de las máquinas VDA de Windows. 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 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 Linux VDA 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 2303.

Paso 13: Actualiza el VDA de Linux (opcional)

Puedes actualizar una instalación existente desde las dos versiones anteriores y desde una versión LTSR.

Para RHEL 7 y CentOS 7:

sudo rpm -U XenDesktopVDA-<version>.el7_x.x86_64.rpm
<!--NeedCopy-->

Para RHEL 8 y Rocky Linux 8:

sudo rpm -U XenDesktopVDA-<version>.el8_x.x86_64.rpm
<!--NeedCopy-->

Para RHEL 9.1/9.0 y Rocky Linux 9.1/9.0:

Nota:

Antes de actualizar el VDA de Linux en RHEL 9.1/9.0 y Rocky Linux 9.1/9.0, actualiza el paquete libsepol a la versión 3.4 o posterior.

sudo rpm -U XenDesktopVDA-<version>.el9x.x86_64.rpm
<!--NeedCopy-->

Para SUSE:

sudo rpm -U XenDesktopVDA-<version>.sle15_x.x86_64.rpm
<!--NeedCopy-->

Para Ubuntu 18.04:

sudo dpkg -i xendesktopvda_<version>.ubuntu18.04_amd64.deb
<!--NeedCopy-->

Para Ubuntu 20.04:

sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
<!--NeedCopy-->

Para Ubuntu 22.04:

sudo dpkg -i xendesktopvda_<version>.ubuntu22.04_amd64.deb
<!--NeedCopy-->

Solución de problemas

Usa la información de esta sección para solucionar los problemas que puedan surgir al usar la función de instalación sencilla.

Unirse a un dominio mediante SSSD falla

Puede producirse un error al intentar unirse a un dominio, con una salida similar a la siguiente (verifica los registros para la impresión en pantalla):

Step 6: join Domain!Enter ctxadmin's password:Failed to join domain: failed to lookup DC info for domain 'CITRIXLAB.LOCAL' over rpc: The network name cannot be found

/var/log/xdl/vda.log:

2016-11-04 02:11:52.317 [INFO ] - The Citrix Desktop Service successfully obtained the following list of 1 delivery controller(s) with which to register: 'CTXDDC.citrixlab.local (10.158.139.214)'.
2016-11-04 02:11:52.362 [ERROR] - RegistrationManager.AttemptRegistrationWithSingleDdc: Failed to register with http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar. Error: General security error (An error occurred in trying to obtain a TGT: Client not found in Kerberos database (6))
2016-11-04 02:11:52.362 [ERROR] - The Citrix Desktop Service cannot connect to the delivery controller 'http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar' (IP Address '10.158.139.214')
Check the following:- The system clock is in sync between this machine and the delivery controller.
-  The Active Directory provider (e.g. winbind daemon) service is running and correctly configured.
-  Kerberos is correctly configured on this machine.
If the problem persists, please refer to Citrix Knowledge Base article CTX117248 for further information.
Error Details:
Exception 'General security error (An error occurred in trying to obtain a TGT: Client not found in Kerberos database (6))' of type 'class javax.xml.ws.soap.SOAPFaultException'.
2016-11-04 02:11:52.362 [INFO ] - RegistrationManager.AttemptRegistrationWithSingleDdc: The current time for this VDA is Fri Nov 04 02:11:52 EDT 2016.
Ensure that the system clock is in sync between this machine and the delivery controller.
Verify the NTP daemon is running on this machine and is correctly configured.
2016-11-04 02:11:52.364 [ERROR] - Could not register with any controllers. Waiting to try again in 120000 ms. Multi-forest - false
2016-11-04 02:11:52.365 [INFO ] - The Citrix Desktop Service failed to register with any controllers in the last 470 minutes.
<!--NeedCopy-->

/var/log/messages:

Nov 4 02:15:27 RH-WS-68 [sssd[ldap_child[14867]]]: Failed to initialize credentials using keytab [MEMORY:/etc/krb5.keytab]: Client 'RH-WS-68$@CITRIXLAB.LOCAL' not found in Kerberos database. Unable to create GSSAPI-encrypted LDAP connection.Nov 4 02:15:27 RH-WS-68 [sssd[ldap_child[14867]]]: Client 'RH-WS-68$@CITRIXLAB.LOCAL' not found in Kerberos database

Para resolver este problema:

  1. Ejecuta el comando rm -f /etc/krb5.keytab.
  2. Ejecuta el comando net ads leave $REALM -U $domain-administrator.
  3. Quita el catálogo de máquinas y el grupo de entrega en el Delivery Controller.
  4. Ejecuta /opt/Citrix/VDA/sbin/ctxinstall.sh.
  5. Crea el catálogo de máquinas y el grupo de entrega en el Delivery Controller.

Las sesiones de escritorio de Ubuntu muestran una pantalla gris

Este problema ocurre cuando inicias una sesión que luego se bloquea en un escritorio en blanco. Además, la consola de la máquina también muestra una pantalla gris cuando inicias sesión con una cuenta de usuario local.

Para resolver este problema:

  1. Ejecuta el comando sudo apt-get update.
  2. Ejecuta el comando sudo apt-get install unity lightdm.
  3. Agrega la siguiente línea a /etc/lightdm/lightdm.conf: greeter-show-manual-login=true

Los intentos de iniciar sesiones de escritorio de Ubuntu fallan debido a un directorio de inicio ausente

/var/log/xdl/hdx.log:

2016-11-02 13:21:19.015 <P22492:S1> citrix-ctxlogin: StartUserSession: failed to change to directory(/home/CITRIXLAB/ctxadmin) errno(2)

2016-11-02 13:21:19.017 <P22227> citrix-ctxhdx: logSessionEvent: Session started for user ctxadmin.

2016-11-02 13:21:19.023 <P22492:S1> citrix-ctxlogin: ChildPipeCallback: Login Process died: normal.

2016-11-02 13:21:59.217 <P22449:S1> citrix-ctxgfx: main: Exiting normally.
<!--NeedCopy-->

Sugerencia:

La causa principal de este problema es que el directorio de inicio no se crea para el administrador del dominio.

Para resolver este problema:

  1. Desde una línea de comandos, escribepam-auth-update.
  2. En el cuadro de diálogo resultante, verifica que la opciónCreate home directory loginesté seleccionada.

    Ubuntu cannot launch session

La sesión no se inicia o finaliza rápidamente con un error dedbus**

/var/log/messages (para RHEL o CentOS):

Oct 27 04:17:16 CentOS7 citrix-ctxhdx[8978]: Session started for user CITRIXLAB\ctxadmin.

Oct 27 04:17:18 CentOS7 kernel: traps: gnome-session[19146] trap int3 ip:7f89b3bde8d3 sp:7fff8c3409d0 error:0

Oct 27 04:17:18 CentOS7 gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)#012aborting...

Oct 27 04:17:18 CentOS7 gnome-session: gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)

Oct 27 04:17:18 CentOS7 gnome-session: aborting...

Oct 27 04:17:18 CentOS7 citrix-ctxgfx[18981]: Exiting normally.

Oct 27 04:17:18 CentOS7 citrix-ctxhdx[8978]: Session stopped for user CITRIXLAB\ctxadmin.
<!--NeedCopy-->

O, alternativamente para distribuciones de Ubuntu, usa el registro /var/log/syslog:

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] pid.c: Stale PID file, overwriting.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] bluez5-util.c: Failed to get D-Bus connection: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] hashmap.c: Assertion 'h' failed at pulsecore/hashmap.c:116, function pa_hashmap_free(). Aborting.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: message repeated 10 times: [ [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.]

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] pid.c: Daemon already running.Nov  3 11:03:58 user01-HVM-domU citrix-ctxgfx[24693]: Exiting normally
<!--NeedCopy-->

Algunos grupos o módulos no surten efecto hasta que se reinicia el sistema. Si los mensajes de error dedbusaparecen en el registro, te recomendamos que reinicies el sistema y lo intentes de nuevo.

SELinux impide que SSHD acceda al directorio de inicio

El usuario puede iniciar una sesión, pero no puede iniciar sesión.

/var/log/xdl/ctxinstall.log:

Jan 25 23:30:31 yz-rhel72-1 setroubleshoot[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root. For complete SELinux messages. run sealert -l 32f52c1f-8ff9-4566-a698-963a79f16b81

Jan 25 23:30:31 yz-rhel72-1 python[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root.

*****  Plugin catchall_boolean (89.3 confidence) suggests   ******************

If you want to allow polyinstantiation to enabled

   Then you must tell SELinux about this by enabling the 'polyinstantiation_enabled' boolean.

You can read 'None' man page for more details.

    Do

       setsebool -P polyinstantiation_enabled 1

*****  Plugin catchall (11.6 confidence) suggests   **************************

If you believe that sshd should be allowed setattr access on the root directory by default.

Then you should report this as a bug.

You can generate a local policy module to allow this access.

      Do

       allow this access for now by executing:

       # grep sshd /var/log/audit/audit.log | audit2allow -M mypol

# semodule -i mypol.pp
<!--NeedCopy-->

Para resolver este problema:

  1. Deshabilita SELinux realizando el siguiente cambio en /etc/selinux/config.

    SELINUX=disabled

  2. Reinicia el VDA.