Crear VDA unidos a un dominio mediante la instalación sencilla
- Schritt
- Schritt
- Schritt
Importante:
Para instalaciones nuevas, te recomendamos que consultes este artículo para una instalación rápida. Este artículo explica cómo instalar y configurar el VDA de Linux mediante la instalación sencilla. La instalación sencilla ahorra tiempo y trabajo, y es menos propensa a errores que la instalación manual. Te ayuda a configurar un entorno en ejecución del VDA de Linux instalando los paquetes necesarios y personalizando los archivos de configuración automáticamente.
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 obtener información sobre las funciones disponibles para los VDA no unidos a un dominio, ve a VDA no unidos a un dominio.
-
Paso 1: Preparar la información de configuración y la máquina Linux
-
Recopila la siguiente información de configuración necesaria para la instalación sencilla:
- Nombre de host: nombre de host de la máquina en la que 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
-
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.
Consideraciones
-
El nombre del grupo de trabajo, de forma predeterminada, es el nombre de dominio. Para personalizar el grupo de trabajo en tu entorno, haz lo siguiente:
a. Crea el archivo /tmp/ctxinstall.conf en la máquina VDA de Linux. b. Agrega la línea workgroup=<tu grupo de trabajo> al archivo y guarda los cambios.
-
Centrify no admite la configuración DNS IPv6 pura. Se requiere al menos un servidor DNS que use IPv4 en /etc/resolv.conf para que
adclientencuentre 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.
-
-
Para unir tu VDA a una OU específica, haz lo siguiente:
-
- 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

-
-
- Crea el archivo /tmp/ctxinstall.conf en el VDA.
-
- Agrega la línea ou=<tu ou> al archivo /tmp/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.
SO Winbind SSSD Centrify PBIS Amazon Linux 2 ou="Linux/amazon"ou="Linux/amazon"ou="XD.LOCAL/Linux/amazon"ou="Linux/amazon"Debian ou="Linux/debian"ou="Linux/debian"ou="XD.LOCAL/Linux/debian"ou="Linux/debian"RHEL 9.0, Rocky Linux 9.0 ou="OU=redhat,OU=Linux"ou="OU=redhat,OU=Linux"N/A N/A RHEL 8.x, Rocky Linux 8.x ou="OU=redhat,OU=Linux"ou="OU=redhat,OU=Linux"ou="XD.LOCAL/Linux/redhat"ou="Linux/redhat"RHEL 7 ou="Linux/redhat"ou="Linux/redhat"ou="XD.LOCAL/Linux/redhat"ou="Linux/redhat"SUSE ou="Linux/suse"ou="Linux/suse"ou="XD.LOCAL/Linux/suse"ou="Linux/suse"Ubuntu ou="Linux/ubuntu"ou="Linux/ubuntu"ou="XD.LOCAL/Linux/ubuntu"ou="Linux/ubuntu" -
- Crea el archivo /tmp/ctxinstall.conf en el VDA.
-
La instalación sencilla admite IPv6 puro a partir del VDA de Linux 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 IPv6 pura y toda tu entrada está en 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 usa IPv4 o IPv6 para el registro.
-
Si eliges Centrify como método para unirte a un dominio, el script ctxinstall.sh requiere el paquete de Centrify. Hay dos formas para que ctxinstall.sh obtenga el paquete de Centrify:
-
La instalación sencilla ayuda a descargar el paquete de Centrify de Internet automáticamente. Las siguientes son las URL para cada distribución:
Amazon Linux 2/RHEL: wget https://downloads.centrify.com/products/server-suite/2022/component-update-1/delinea-server-suite-2022-rhel6-x86_64.tgz
-
Ubuntu/Debian: wget https://downloads.centrify.com/products/server-suite/2022/component-update-1/delinea-server-suite-2022-deb9-x86_64.tgz
-
Obtener el paquete de Centrify de un directorio local. Para designar el directorio del paquete de Centrify, haz lo siguiente:
a. Crea el archivo /tmp/ctxinstall.conf en el servidor VDA de Linux si no existe. b. Agrega la línea “centrifypkgpath=<nombre de ruta>” al archivo.
Por ejemplo:
cat /tmp/ctxinstall.conf set "centrifypkgpath=/home/mydir" - ls -ls /home/mydir - 9548 -r-xr-xr-x. 1 root root 9776688 May 13 2016 adcheck-rhel4-x86_64 4140 -r--r--r--. 1 root root 4236714 Apr 21 2016 centrifyda-3.3.1-rhel4-x86_64.rpm 33492 -r--r--r--. 1 root root 34292673 May 13 2016 centrifydc-5.3.1-rhel4-x86_64.rpm 4 -rw-rw-r--. 1 root root 1168 Dec 1 2015 centrifydc-install.cfg 756 -r--r--r--. 1 root root 770991 May 13 2016 centrifydc-ldapproxy-5.3.1-rhel4-x86_64.rpm 268 -r--r--r--. 1 root root 271296 May 13 2016 centrifydc-nis-5.3.1-rhel4-x86_64.rpm 1888 -r--r--r--. 1 root root 1930084 Apr 12 2016 centrifydc-openssh-7.2p2-5.3.1-rhel4-x86_64.rpm 124 -rw-rw-r--. 1 root root 124543 Apr 19 2016 centrify-suite.cfg 0 lrwxrwxrwx. 1 root root 10 Jul 9 2012 install-express.sh -> install.sh 332 -r-xr-xr--. 1 root root 338292 Apr 10 2016 install.sh 12 -r--r--r--. 1 root root 11166 Apr 9 2015 release-notes-agent-rhel4-x86_64.txt 4 -r--r--r--. 1 root root 3732 Aug 24 2015 release-notes-da-rhel4-x86_64.txt 4 -r--r--r--. 1 root root 2749 Apr 7 2015 release-notes-nis-rhel4-x86_64.txt 12 -r--r--r--. 1 root root 9133 Mar 21 2016 release-notes-openssh-rhel4-x86_64.txt <!--NeedCopy--> -
Si eliges PBIS como método para unirte a un dominio, el script ctxinstall.sh requiere el paquete de PBIS. Hay dos formas para que ctxinstall.sh obtenga el paquete de PBIS:
-
La instalación sencilla ayuda a descargar el paquete de PBIS de Internet automáticamente. Por ejemplo, las siguientes son las URL para cada distribución:
Amazon Linux 2, CentOS 7, RHEL 8, RHEL 7, SUSE 15.4:
wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.shDebian, Ubuntu:
wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.deb.sh -
Obtén una versión específica del paquete PBIS de Internet. Para ello, modifica las líneas “pbisDownloadRelease” y “pbisDownloadExpectedSHA256” en el archivo /opt/Citrix/VDA/sbin/ctxinstall.sh.
Por ejemplo, consulta la siguiente captura de pantalla:

Paso 2: Prepara el hipervisor
Se requieren algunos cambios al ejecutar el VDA de Linux como máquina virtual en un hipervisor compatible. Realiza los siguientes cambios según la plataforma de hipervisor que utilices. No se requieren cambios si ejecutas la máquina Linux en hardware físico.
Corrige la sincronización de la hora en Citrix Hypervisor™
Cuando la función de sincronización de la hora de Citrix Hypervisor está habilitada, dentro de cada máquina virtual Linux paravirtualizada, experimentarás problemas con NTP y Citrix Hypervisor. Ambos intentan gestionar 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 la 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 comprobar si la función de sincronización de la hora de Citrix Hypervisor está presente y habilitada desde la máquina virtual Linux:
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
Este comando devuelve 0 o 1:
- 0 - La función de sincronización de la hora está habilitada y debe deshabilitarse.
- 1 - La función de sincronización de la 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 la hora escribiendo 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, modifica 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 máquinas virtuales Linux con los servicios de integración de Hyper-V Linux instalados pueden aplicar la función de sincronización de la 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:
- Abre la consola del Administrador de Hyper-V.
- Para la configuración de una máquina virtual Linux, selecciona Servicios de integración.
-
Asegúrate de que la opción Sincronización de hora esté seleccionada.
-
Nota:
Este enfoque es diferente al de VMware y Citrix Hypervisor, donde la sincronización de la hora del host está deshabilitada para evitar conflictos con NTP. La sincronización de la hora de Hyper-V puede coexistir y complementar la sincronización de la hora de NTP.
-
Corrige la sincronización de la hora en ESX y ESXi
Cuando la función de sincronización de la hora de VMware está habilitada, dentro de cada máquina virtual Linux paravirtualizada, experimentarás problemas con el 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 la hora del host.
-
Si ejecutas un kernel de Linux paravirtualizado con las herramientas de VMware instaladas:
-
- Abre vSphere Client.
- Modifica la configuración de la máquina virtual Linux.
- En el cuadro de diálogo Propiedades de la máquina virtual, abre la ficha Opciones.
- Selecciona VMware Tools.
- 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 siguiendo 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 la ruta de tu entorno de ejecución.
Según la salida del comando, establece la ruta binaria del entorno 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 VDA de Linux
- Ve a la página de descarga de Citrix Virtual Apps and Desktops.
- Expande la versión adecuada de Citrix Virtual Apps and Desktops.
-
Haz clic en Componentes para descargar el paquete 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 VDA de Linux.
Para verificar la integridad del paquete Linux VDA usando 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: Instala el paquete Linux VDA
-
Para configurar el entorno para el 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.0 y Rocky Linux 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, la conexión Ethernet podría perderse y el Linux VDA podría quedar inaccesible después de reiniciar 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, deshabilita RDNS. Para hacerlo, agrega la línea rdns = false debajo de [libdefaults] en /etc/krb5.conf.
Para distribuciones SUSE:
-
Para SUSE 15.4 en AWS, Azure y GCP, asegúrate de que:
- Estás usando libstdc++6 versión 12 o posterior.
- El parámetro Default_WM en /etc/sysconfig/windowmanager está configurado como “gnome”.
-
Ejecuta el siguiente comando para instalar el Linux VDA:
zypper -i install <PATH>/<Linux VDA RPM> <!--NeedCopy-->
Paso 6: Instala 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 el 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:
- Asegúrate de que la VM invitada esté apagada.
- En el panel de control del hipervisor, asigna una GPU a la VM.
- Inicia la VM.
- Instala el controlador de VM invitada en la VM.
Paso 7: Especifica una base de datos para usar
Como característica 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 Linux VDA.
Para hacerlo, edita etc/xdl/db.conf antes de ejecutar sudo /opt/Citrix/VDA/sbin/ctxinstall.sh o /opt/Citrix/VDA/bin/easyinstall.
Nota:
- Te recomendamos usar SQLite solo para el modo VDI. - Para la instalación fácil y MCS, puedes 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 por defecto. - También puedes usar/etc/xdl/db.confpara configurar el número de puerto para PostgreSQL.
Paso 8: Configura el entorno de ejecución para completar la instalación
Después de instalar el paquete Linux VDA, configura el entorno de ejecución usando el script ctxinstall.sh. Puedes ejecutar el script en modo interactivo o en modo silencioso.
Nota:
Antes de configurar el entorno de ejecución, asegúrate de que la configuración regional
en_US.UTF-8esté instalada en tu sistema operativo. Si la configuración regional no está disponible en tu sistema operativo, ejecuta el comandosudo locale-gen en_US.UTF-8. Para Debian, edita el archivo/etc/locale.gendescomentando la línea# en_US.UTF-8 UTF-8y luego ejecuta el comandosudo locale-gen.
Modo interactivo:
Hay dos maneras de usar la instalación fácil en modo interactivo:
- Ejecuta el comando `sudo /opt/Citrix/VDA/sbin/ctxinstall.sh` y escribe el parámetro relevante en cada solicitud en la interfaz de línea de comandos.
-
Ejecuta el comando
/opt/Citrix/VDA/bin/easyinstallen el entorno de escritorio de tu VDA y luego sigue las instrucciones en la GUI de instalación fácil.
La GUI de instalación fácil te guía a través de las siguientes operaciones:
- Comprueba el entorno del sistema
- Instala las dependencias
- Une el VDA a un dominio especificado
- Configura 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: Prepara una imagen maestra.
Modo silencioso:
Para usar la instalación sencilla en modo silencioso, establece las siguientes variables de entorno antes de ejecutar ctxinstall.sh.
- **CTX\_EASYINSTALL\_HOSTNAME=host-name** – Indica el nombre de host del servidor VDA de Linux.
- CTX_EASYINSTALL_DNS=ip-address-of-dns – Dirección IP del DNS.
- CTX_EASYINSTALL_NTPS=address-of-ntps – Dirección IP o nombre de cadena del servidor NTP.
- CTX_EASYINSTALL_DOMAIN=domain-name – El nombre NetBIOS del dominio.
- CTX_EASYINSTALL_REALM=realm-name – El nombre del ámbito de Kerberos.
- CTX_EASYINSTALL_FQDN=ad-fqdn-name
- CTX_EASYINSTALL_ADINTEGRATIONWAY=winbind | sssd | centrify | pbis – Indica el método de integración de Active Directory.
- CTX_EASYINSTALL_USERNAME=domain-user-name – Indica el nombre del usuario de dominio; se usa para unirse al dominio.
- CTX_EASYINSTALL_PASSWORD=password – Especifica la contraseña del usuario de dominio; se usa para unirse al dominio.
El script ctxsetup.sh usa las siguientes variables:
- CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N – El VDA de Linux admite la especificación de un nombre de Delivery Controller mediante un registro CNAME de DNS.
- CTX_XDL_DDC_LIST=’list-ddc-fqdns’ – El VDA de Linux requiere una lista de nombres de dominio completos (FQDN) de Delivery Controller separados por espacios para registrarse en un Delivery Controller. Se debe especificar al menos un FQDN o CNAME.
- CTX_XDL_VDA_PORT=port-number – El VDA de Linux 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 del VDA de Linux requieren que se permitan las conexiones de red entrantes a través del firewall del sistema. Puedes abrir automáticamente los puertos necesarios (por defecto, los puertos 80 y 1494) en el firewall del sistema para Linux Virtual Desktop.
- CTX_XDL_HDX_3D_PRO=Y | N – El VDA de Linux admite HDX 3D Pro, un conjunto de tecnologías de aceleración de GPU diseñado 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 VDA de Linux detecta servidores LDAP a través de DNS. Para limitar los resultados de la 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 VDA de Linux consulta DNS para detectar 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 VDA de Linux 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 VDA de Linux 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 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 VDA de Linux 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 de Federated Authentication Service (FAS) se configuran a través de la directiva de grupo de AD. El VDA de Linux no admite 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 añadir 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.
También puedes cambiar el entorno de escritorio para un usuario de sesión de destino siguiendo estos pasos:
- Crea un archivo
.xsessiono.Xclientsen el directorio $HOME/<username> del VDA. Si usas Amazon Linux 2, crea un archivo.Xclients. Si usas otras distribuciones, crea un archivo.xsession. -
Edita el archivo
.xsessiono.Xclientspara especificar un entorno de escritorio según las distribuciones.- Para el escritorio MATE
- Crea un archivo
- MSESSION=”$(type -p mate-session)”
- if [ -n “$MSESSION” ]; then
-
exec mate-session fi
- **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 - **Para el escritorio GNOME** GSESSION="$(type -p gnome-session)" if [ -n "$GSESSION" ]; then exec gnome-session fi- 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.
- CTX_XDL_START_SERVICE=Y | N – Determina si los servicios del VDA de Linux 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.
Si no se establece ningún parámetro, la instalación vuelve al modo interactivo, con una solicitud de entrada del usuario. Cuando todos los parámetros ya están establecidos a través de las variables de entorno, el script ctxinstall.sh sigue solicitando al usuario la ruta para instalar .NET Runtime 6.0.
En modo silencioso, debes ejecutar los siguientes comandos para establecer las variables de entorno y, a continuación, ejecutar el script ctxinstall.sh.
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_ADINTEGRATIONWAY=winbind | sssd | centrify | pbis
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_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
<!--NeedCopy-->
Cuando ejecutes 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 todos los parámetros usando un solo comando:
sudo CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N \
CTX_XDL_DDC_LIST='list-ddc-fqdns' \
CTX_XDL_VDA_PORT=port-number \
CTX_XDL_REGISTER_SERVICE=Y|N \
CTX_XDL_ADD_FIREWALL_RULES=Y|N \
CTX_XDL_AD_INTEGRATION=1|2|3|4 \
CTX_XDL_HDX_3D_PRO=Y|N \
CTX_XDL_VDI_MODE=Y|N \
CTX_XDL_SITE_NAME=dns-name \
CTX_XDL_LDAP_LIST='list-ldap-servers' \
CTX_XDL_SEARCH_BASE=search-base-set \
CTX_XDL_FAS_LIST='list-fas-servers' \
CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime \
CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|mate \
CTX_XDL_TELEMETRY_SOCKET_PORT=port-number \
CTX_XDL_TELEMETRY_PORT=port-number \
CTX_XDL_START_SERVICE=Y|N \
/opt/Citrix/VDA/sbin/ctxsetup.sh
<!--NeedCopy-->
Paso 9: Ejecuta XDPing
Ejecuta sudo /opt/Citrix/VDA/bin/xdping para comprobar si hay problemas de configuración comunes con un entorno Linux VDA. Para obtener más información, consulta XDPing.
Paso 10: Ejecuta el Linux VDA
Inicia el Linux VDA:
Para iniciar los servicios de Linux VDA:
sudo /sbin/service ctxhdx start
sudo /sbin/service ctxvda start
<!--NeedCopy-->
Detén el Linux VDA:
Para detener los servicios de Linux VDA:
sudo /sbin/service ctxvda stop
sudo /sbin/service ctxhdx stop
<!--NeedCopy-->
Nota:
Antes de detener los servicios
ctxvdayctxhdx, ejecuta el comandoservice ctxmonitorservice stoppara detener el demonio del servicio de monitorización. De lo contrario, el demonio del servicio de monitorización reiniciará los servicios que detuviste.
Reinicia el Linux VDA:
Para reiniciar los servicios de Linux VDA:
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: Crear 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 de SO multisesión para un modelo de entrega de escritorios compartidos alojados.
- La opción de 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 “SO Linux”. Sin embargo, seleccionar la opción de SO de Windows Server o SO de servidor implica un modelo de entrega de escritorios compartidos alojados equivalente. Seleccionar la opción de SO de escritorio de Windows o SO de escritorio implica un modelo de entrega de un solo usuario por máquina.
Sugerencia:
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: Crear 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 2212.
Paso 13: Actualizar 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.0 y Rocky Linux 9.0:
Nota:
Antes de actualizar el VDA de Linux en RHEL 9.0 y Rocky Linux 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.
Error al unirse a un dominio mediante SSSD
Puede producirse un error al intentar unirte 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:
- Ejecuta el comando
rm -f /etc/krb5.keytab. - Ejecuta el comando
net ads leave $REALM -U $domain-administrator. - Quita el catálogo de máquinas y el grupo de entrega en el Delivery Controller.
- Ejecuta /opt/Citrix/VDA/sbin/ctxinstall.sh.
- 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:
- Ejecuta el comando
sudo apt-get update. - Ejecuta el comando
sudo apt-get install unity lightdm. - 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 la falta de un directorio de inicio
/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 de dominio.
Para resolver este problema:
-
Desde una línea de comandos, escribe pam-auth-update.
-
En el cuadro de diálogo resultante, verifica que la opción Create home directory login esté seleccionada.

La sesión no se inicia o finaliza rápidamente con un error de 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, 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 de dbus aparecen 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/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:
-
Deshabilita SELinux realizando el siguiente cambio en /etc/selinux/config.
SELINUX=disabled
-
Reinicia el VDA.
En este artículo
- Paso 1: Preparar la información de configuración y la máquina Linux
- Paso 2: Prepara el hipervisor
- Paso 3: Instala .NET Runtime 6.0
- Paso 4: Descarga el paquete VDA de Linux
- Paso 5: Instala el paquete Linux VDA
- Paso 6: Instala los controladores NVIDIA GRID
- Paso 7: Especifica una base de datos para usar
- Paso 8: Configura el entorno de ejecución para completar la instalación
- Paso 9: Ejecuta XDPing
- Paso 10: Ejecuta el Linux VDA
- Paso 11: Crear catálogos de máquinas
- Paso 12: Crear grupos de entrega
- Paso 13: Actualizar el VDA de Linux (opcional)
- Solución de problemas