Linux Virtual Delivery Agent

Crear VDA unidos a un dominio mediante Easy Install

Importante:

  • Para instalaciones nuevas, le recomendamos que consulte este artículo para una instalación rápida. En este artículo, se describe cómo instalar y configurar Linux VDA con Easy Install. Easy Install ahorra tiempo y trabajo y es menos propenso a errores que la instalación manual. Así, le ayuda a configurar un entorno de ejecución de Linux VDA mediante la instalación de los paquetes necesarios y la personalización automática de los archivos de configuración.

  • Easy Install es compatible con Quest solo para RHEL y Rocky Linux.

  • Para crear agentes VDA no unidos a ningún dominio, puede usar tanto Machine Creation Services (MCS) como Easy Install. Para obtener más información, consulte Crear Linux VDA no unidos a ningún dominio mediante MCS y Crear un agente Linux VDA no unido a ningún dominio mediante Easy Install (Tech Preview).

  • Para obtener información sobre las funciones disponibles para los VDA que no están unidos a ningún dominio, vaya a VDA no unidos a ningún dominio.

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

Recopile la siguiente información de configuración necesaria para Easy Install:

  • Nombre de host: El nombre de host de la máquina en la que se instalará Linux VDA
  • Dirección IP del servidor de nombres de dominio.
  • Dirección IP o cadena de nombre del servidor NTP.
  • Nombre de dominio: El nombre NetBIOS del dominio.
  • Nombre de territorio: El nombre del territorio Kerberos.
  • Nombre de dominio completo (FQDN) del dominio.
  • Método de integración de Active Directory (AD): Actualmente, Easy Install es compatible con 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.
  • OU: La unidad organizativa. Opcional.

Importante:

  • Para instalar Linux VDA, compruebe que los repositorios se agregan correctamente en la máquina Linux.
  • Para iniciar una sesión, compruebe que se instalan los entornos de escritorio y el sistema X Window están instalados.
  • Por motivos de seguridad, Easy Install no guarda la contraseña de unión al dominio. Cada vez que ejecute el script de Easy Install (ctxinstall.sh) en modo interactivo, debe introducir la contraseña de unión al dominio manualmente. En el modo silencioso, debe establecer la contraseña de unión al dominio en /Citrix/VDA/sbin/ctxinstall.conf o exportar la contraseña. Le recomendamos no usar la cuenta de administrador para unirse a dominios. En su lugar, delegue los permisos de unión a dominios a un usuario de Active Directory que no sea la cuenta de administrador. Para ello, delegue el control en el controlador de dominio mediante el Asistente para la delegación de control.

Paso 2: Prepare el hipervisor

Se necesitan algunos cambios cuando se ejecuta Linux VDA como una máquina virtual en un hipervisor admitido. Haga estos cambios en función de la plataforma de hipervisor que se use. No se requieren cambios si se está ejecutando la máquina Linux sin sistema operativo.

Corregir la sincronización horaria en XenServer (anteriormente, Citrix Hypervisor)r

Si está habilitada la funcionalidad de sincronización horaria de XenServer, se darán problemas en las máquinas virtuales Linux paravirtualizadas tanto en NTP como en XenServer. Ambos intentan gestionar el reloj del sistema. Para evitar la desincronización del reloj respecto a los demás servidores, compruebe que el reloj del sistema de cada invitado de Linux debe sincronizarse con NTP. Por eso, es necesario inhabilitar la sincronización horaria del host. No se requieren cambios en el modo HVM.

Si se ejecuta un kernel Linux paravirtualizado con XenServer VM Tools instalado, puede comprobar si la función de sincronización horaria de XenServer está presente y habilitarla en la máquina virtual de Linux:

su -

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

Este comando devuelve 0 o 1:

  • 0. La funcionalidad de sincronización horaria está habilitada, por lo que se debe inhabilitar.
  • 1. La funcionalidad de sincronización horaria está inhabilitada, por lo que no es necesaria ninguna otra acción.

Si el archivo /proc/sys/xen/independent_wallclock no está presente, no es necesario que siga estos pasos.

Si se habilita, inhabilite la función de sincronización horaria con un 1 en el archivo:

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

Para que este cambio sea permanente y persista después de reiniciar la máquina, modifique el archivo /etc/sysctl.conf y agregue la línea:

xen.independent_wallclock = 1

Para comprobar los cambios, reinicie el sistema:

su -

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

Este comando devuelve el valor 1.

Corregir la sincronización horaria en Microsoft Hyper-V

Las máquinas virtuales Linux que tienen instalados los servicios de integración de Hyper-V para Linux pueden aplicar la funcionalidad de sincronización horaria de Hyper-V para usar la hora del sistema operativo del host. Para que el reloj del sistema no se desincronice, esta funcionalidad se debe habilitar junto con los servicios NTP.

Desde el sistema operativo de administración:

  1. Abra la consola del Administrador de Hyper-V.
  2. Para ver la configuración de una máquina virtual Linux, seleccione Integration Services.
  3. Compruebe que Time synchronization está seleccionado.

Nota:

Este método difiere de VMware y XenServer (antes, Citrix Hypervisor), donde se inhabilita la sincronización horaria del host para evitar conflictos con NTP. La sincronización horaria de Hyper-V puede coexistir y complementarse con la sincronización horaria de NTP.

Corregir la sincronización horaria en ESX y ESXi

Cuando la función de sincronización horaria de VMware está habilitada en cada VM de Linux paravirtualizada, hay problemas con el protocolo NTP y el hipervisor. Ambos intentan sincronizar el reloj del sistema. Para evitar la desincronización del reloj respecto a los demás servidores, el reloj del sistema de cada invitado Linux debe sincronizarse con NTP. Por eso, es necesario inhabilitar la sincronización horaria del host.

Si ejecuta un kernel Linux paravirtualizado con VMware Tools instalado:

  1. Abra vSphere Client.
  2. Modifique la configuración de la máquina virtual Linux.
  3. En el cuadro de diálogo Propiedades de la máquina virtual, abra la ficha Opciones.
  4. Seleccione VMware Tools.
  5. En el cuadro Advanced, desmarque la casilla Synchronize guest time with host.

Paso 3: Instale .NET Runtime 6.0

Antes de instalar Linux VDA, instale .NET Runtime 6.0 conforme a las instrucciones de https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.

Después de instalar .NET Runtime 6.0, 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 Linux VDA en RHEL 9.2/9.0 y Rocky Linux 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
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, 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 las máquinas 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á

Puede cambiar entre SQLite y PostgreSQL después de instalar el paquete de Linux VDA. Para ello, siga estos pasos:

Nota:

  • Se recomienda usar SQLite solo para el modo VDI y PostgreSQL para un modelo de entrega de escritorios compartidos alojados.
  • 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.
  1. Modifique /etc/xdl/db.conf para especificar la base de datos que se utilizará.
  2. Ejecute sudo /opt/Citrix/VDA/sbin/ctxinstall.sh o /opt/Citrix/VDA/bin/easyinstall.

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 o la GUI.

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 escenarios unidos a un dominio, configúralo en ‘n’.

  • CTX_XDL_AD_INTEGRATION=’winbind|sssd|centrify|pbis|quest’: Linux VDA requiere parámetros de configuración Kerberos para autenticarse en 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_DDC_LIST=’<list-ddc-fqdns>’: Linux VDA necesita una lista de nombres de dominio completo de Delivery Controllers, separados por espacios, para registrarse en un Delivery Controller. Se debe especificar al menos un nombre FQDN o CNAME.

  • 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=’'**: La ruta de instalación de .NET Runtime 6.0 para garantizar compatibilidad con el nuevo servicio de agente intermediario (**ctxvda**). La ruta predeterminada es **'/usr/bin'**.

  • CTX_XDL_VDA_PORT=port-number: Linux VDA se comunica con los Delivery Controllers a través de un puerto TCP/IP.

  • CTX_XDL_SITE_NAME=<dns-name>: Linux VDA detecta los servidores LDAP mediante DNS. Para limitar los resultados de búsqueda de DNS a un sitio local, especifique un nombre de sitio DNS. Si no es necesario, establézcalo en ‘<none>‘.

  • CTX_XDL_LDAP_LIST=’<list-ldap-servers>’: Linux VDA consulta a DNS para detectar servidores LDAP. Sin embargo, si el DNS no puede proporcionar registros del servicio LDAP, se puede suministrar una lista de nombres FQDN de LDAP, separados por espacios, con los puertos de LDAP. Por ejemplo, ad1.miempresa.com:389 ad2.miempresa.com:3268 ad3.miempresa.com:3268. Para habilitar consultas LDAP más rápidas en bosques de Active Directory, habilite Catálogo global en un controlador de dominio y especifique 3268 como número de puerto LDAP correspondiente. Esta variable está establecida en ‘<none>‘ de forma predeterminada.

  • CTX_XDL_SEARCH_BASE=search-base-set: Linux VDA consulta a LDAP a partir de una base de búsqueda establecida en la raíz del dominio de Active Directory (por ejemplo, DC=miempresa,DC=com). Para mejorar el rendimiento de la búsqueda, puede especificar otra base de búsqueda (por ejemplo, OU=VDI,DC=miempresa,DC=com). Si no es necesario, establézcalo en ‘<none>‘.

  • CTX_XDL_SUPPORT_DDC_AS_CNAME=’y|n’: Linux VDA permite especificar un nombre de Delivery Controller mediante un registro CNAME de DNS.

  • CTX_EASYINSTALL_DNS=’<ip-address-of-dns>’: La dirección IP de DNS.

  • CTX_EASYINSTALL_HOSTNAME=host-name: El nombre de host del servidor Linux VDA.

  • CTX_EASYINSTALL_NTPS=address-of-ntps: La dirección IP o cadena de nombre del servidor NTP.

  • CTX_EASYINSTALL_REALM=realm-name: El nombre del territorio Kerberos.

  • CTX_EASYINSTALL_FQDN=ad-fqdn-name

  • CTX_EASYINSTALL_USERNAME=domain-username: 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:

Le recomendamos no usar la cuenta de administrador para unirse a dominios. En su lugar, delegue los permisos de unión a dominios a un usuario de Active Directory que no sea la cuenta de administrador. Para ello, delegue el control en el controlador de dominio mediante el Asistente para la delegación de control.

Estas cuatro variables son opcionales. Aunque no estén configuradas, ctxinstall.sh no se interrumpirá en el modo silencioso y no se le pedirá al usuario que introduzca datos en modo interactivo. Solo puede configurarlas al exportar sus valores o al modificar/Citrix/VDA/sbin/ctxinstall.conf.

  • CTX_EASYINSTALL_NETBIOS_DOMAIN=netbios-domain-name: El nombre de dominio NetBIOS suele ser el primer componente del nombre de dominio DNS separado por un punto (.). De lo contrario, personalice un nombre de dominio NetBIOS diferente. Esta variable es opcional.

  • CTX_EASYINSTALL_OU=ou-value: Los valores de unidad organizativa varían con los diferentes métodos de integración de AD. Para ver un ejemplo de los valores de unidad organizativa, consulte la tabla de la sección Consideraciones de este artículo. Esta variable es opcional.
  • CTX_EASYINSTALL_CENTRIFY_LOCAL_PATH=centrify-local-path: Easy Install ayuda a descargar el paquete de Centrify de Internet. Sin embargo, si Centrify ya está instalado, puede 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: Easy Install ayuda a descargar el paquete de PBIS de Internet. Sin embargo, si PBIS ya está instalado, puede obtener el paquete de PBIS de un directorio local definido por esta variable. Esta variable es opcional.

Consideraciones

  • El nombre de dominio NetBIOS suele ser el primer componente del nombre de dominio DNS separado por un punto (.). Para personalizar un nombre de dominio NetBIOS diferente en su entorno, defina la variable de entorno CTX_EASYINSTALL_NETBIOS_DOMAIN en /opt/Citrix/VDA/sbin/ctxinstall.conf.

  • Para unir su VDA a una unidad organizativa específica, haga lo siguiente:

    1. Asegúrese de que la unidad organizativa específica existe en el controlador de dominio.

      La siguiente captura de pantalla le sirve de ejemplo de unidad organizativa:

      Un ejemplo de OU

    2. Defina la variable de entorno CTX_EASYINSTALL_OU en /opt/Citrix/VDA/sbin/ctxinstall.conf.

      Los valores de unidad organizativa varían con los diferentes métodos de AD. Esta tabla refleja los nombres de unidades organizativos de ejemplo de la captura de pantalla anterior. Puede usar los nombres que quiera para las unidades organizativas de su organización.

      SO 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.2/9.0, Rocky Linux 9.2/9.0 "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" N/D N/D
      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/D N/D
      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 admite la configuración de DNS únicamente de IPv6. Se requiere al menos un servidor DNS que use IPv4 en /etc/resolv.conf para que adclient encuentre correctamente los servicios de AD.

    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, haga lo siguiente:

    a. Abra Herramientas administrativas en el controlador del dominio.
    b. Seleccione Sitios y servicios de Active Directory.
    c. Agregue una dirección de subred adecuada para Subredes.

  • Easy Install admite IPv6 puro a partir de Linux VDA 7.16. Se aplican las siguientes condiciones previas y limitaciones:

    • Debe configurar el repositorio de Linux para que la máquina pueda descargar los paquetes requeridos en redes de IPv6 puro.
    • Centrify no se admite en redes únicamente de IPv6.

    Nota:

    Si la red es solo de IPv6 y todas las entradas tienen el formato adecuado de IPv6, el VDA se registra en el Delivery Controller a través de IPv6. Si la red tiene una combinación híbrida de IPv4 e IPv6, el tipo de la primera dirección IP de DNS determina si se usa IPv4 o IPv6 para el registro.

  • 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.

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

  • Si elige PBIS como el método para unirse 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 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.

El valor exportado de cada variable supedita el valor de /Citrix/VDA/sbin/ctxinstall.conf a menos que no esté configurado. 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 el modo silencioso, debe establecer la contraseña de unión al dominio en /Citrix/VDA/sbin/ctxinstall.conf o exportar la contraseña.

export CTX_XDL_NON_DOMAIN_JOINED='n'
export CTX_XDL_AD_INTEGRATION=winbind|centrify|sssd|pbis|quest
export CTX_XDL_DDC_LIST='<list-ddc-fqdns>'
export CTX_XDL_VDI_MODE='y|n'
export CTX_XDL_HDX_3D_PRO='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_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>'
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_SUPPORT_DDC_AS_CNAME='y|n'
export CTX_EASYINSTALL_DNS='<ip-address-of-dns>'
export CTX_EASYINSTALL_HOSTNAME='<host-name>'
export CTX_EASYINSTALL_NTPS='<address-of-ntps>'
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_EASYINSTALL_NETBIOS_DOMAIN='<netbios-domain>'
export CTX_EASYINSTALL_OU='<organization-unit>'
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).

Interfaz gráfica (GUI)

Puede usar Easy Install a través de una GUI. Ejecute el comando /opt/Citrix/VDA/bin/easyinstall en el entorno de escritorio del VDA y, a continuación, siga las instrucciones de la GUI de Easy Install.

GUI de Easy Install

La GUI de Easy Install le guía a través de estas operaciones:

  • Comprobar el entorno del sistema
  • Instalar dependencias
  • Unir el VDA a un dominio específico
  • Configurar el entorno de ejecución

Consejo:

Haga clic en Save para guardar los parámetros de las variables en un archivo local en la ruta que especifique. Haga clic en Load para cargar los parámetros de las variables desde el archivo que especifique. Para obtener información sobre la configuración de variables de MCS, consulte el Paso 3: Prepare una imagen maestra.

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 service ctxmonitorservice stop 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 catálogos de máquinas

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.

Nota:

Las primeras versiones de Citrix Studio no admitían 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.

Consejo:

Si quita una máquina y luego la vuelve a unir al dominio de Active Directory, esa máquina se debe quitar y volver a agregar al catálogo de máquinas.

Paso 12: 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 2311.

Paso 13: Actualice la versión de Linux VDA (optativo)

Linux VDA admite las actualizaciones desde la versión más reciente. Por ejemplo, puede actualizar Linux VDA de la versión 2308 a 2311 y de 1912 LTSR a 2203 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.2/9.0 y Rocky Linux 9.2/9.0:

Nota:

Antes de actualizar Linux VDA en RHEL 9.2/9.0 y Rocky Linux 9.2/9.0, actualice 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 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

Use la información de esta sección para solucionar los problemas que puedan surgir en el uso de la función Easy Install.

Falla el proceso de unirse a un dominio mediante SSSD

Puede producirse un error al intentar unirse a un dominio, con un resultado parecido al siguiente (verifique 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 solucionar este problema:

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

Las sesiones de escritorio en Ubuntu muestran una pantalla gris

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

Para solucionar este problema:

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

No se pueden iniciar sesiones de escritorio en Ubuntu porque falta el directorio home

/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-->

Consejo:

La causa raíz de este problema es que el directorio home no se crea para el administrador de dominio.

Para solucionar este problema:

  1. En una línea de comandos, escriba pam-auth-update.

  2. En el cuadro de diálogo resultante, compruebe si Create home directory on login está seleccionado.

    Ubuntu no puede iniciar una sesión

La sesión no se inicia o finaliza rápidamente con el error dbus

/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 bien, para distribuciones de Ubuntu, use los registros de /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 tienen efecto hasta que se reinicia la máquina. Cuando aparecen mensajes de error de dbus en los registros, se recomienda reiniciar el sistema e intentarlo de nuevo.

SELinux impide que SSHD acceda al directorio particular (home)

El usuario puede lanzar 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 solucionar este problema:

  1. Inhabilite SELinux cambiando lo siguiente en /etc/selinux/config

    SELINUX=disabled

  2. Reinicie el VDA.

Crear VDA unidos a un dominio mediante Easy Install