Easy Install

Easy Install se admite oficialmente a partir de la versión 7.13 de Linux VDA. Easy Install le ayuda a configurar el 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.

Distribuciones compatibles

  Winbind SSSD Centrify
RHEL 7.3
RHEL 6.9
RHEL 6.6
CentOS 7.3
Ubuntu 16.04
SUSE 12.2 No

Uso de Easy Install

Para usar esta función, lleve a cabo lo siguiente:

  1. Prepare la información de configuración y la máquina Linux.
  2. Instale el paquete de Linux VDA.
    Vaya a la página web de Citrix y descargue el paquete de Linux VDA adecuado según su distribución de Linux.
  3. Configure el entorno en tiempo de ejecución para completar la instalación de Linux VDA.

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
  • FQDN del dominio activo. Nombre de dominio completo

Importante:

  • Para instalar Linux VDA, compruebe que los repositorios se agregan correctamente en la máquina Linux.
  • Para lanzar una sesión, compruebe que se instalan los entornos de escritorio y sistema X Windows están instalados.

Paso 2: Instale el paquete de Linux VDA

Ejecute los siguientes comandos para configurar el entorno para Linux VDA.

Para distribuciones RHEL y CentOS:

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

Para distribuciones Ubuntu:

sudo dpkg -i <PATH>/<Linux VDA deb>
sudo apt-get install -f
<!--NeedCopy-->

Para las distribuciones SUSE:

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

Paso 3: Configure el entorno en tiempo de ejecución 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. Puede ejecutar el script en modo interactivo o en modo silencioso.

Modo interactivo:

Para una configuración manual, ejecute el siguiente comando y escriba el parámetro correspondiente cuando lo solicite el sistema.

sudo /opt/Citrix/VDA/sbin/ctxinstall.sh
<!--NeedCopy-->

Modo silencioso:

Para usar Easy Install de manera silenciosa, establezca las siguientes variables de entorno antes de ejecutar ctxinstall.sh.

  • 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 cadena de nombre del servidor NTP.
  • CTX_EASYINSTALL_DOMAIN=domain-name: El nombre NetBIOS del dominio.
  • CTX_EASYINSTALL_REALM=realm-name: El nombre del territorio Kerberos.
  • CTX_EASYINSTALL_FQDN=ad-fqdn-name
  • CTX_EASYINSTALL_ADINTEGRATIONWAY=winbind | sssd | centrify: Indica el método de integración de Active Directory.
  • CTX_EASYINSTALL_USERNAME=domain-user-name: Indica el nombre del usuario de dominio; se utiliza para unirse al dominio.
  • CTX_EASYINSTALL_PASSWORD=password: Indica la contraseña del usuario de dominio; se utiliza para unirse al dominio.

Las siguientes variables se usan en ctxsetup.sh:

  • CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N: Linux VDA permite especificar un nombre de Delivery Controller mediante un registro CNAME de DNS.
  • 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_VDA_PORT=port-number: 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 Virtual Desktop 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 para Linux Virtual Desktop.
  • CTX_XDL_HDX_3D_PRO=Y | N: Linux VDA admite HDX 3D Pro, un conjunto de tecnologías para la aceleración de la GPU que se ha diseñado 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_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_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, se puede establecer 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 el puerto de LDAP. Por ejemplo, ad1.miempresa.com:389. Si no es necesario, se puede establecer en <none>.
  • 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, se puede establecer en <none>.
  • CTX_XDL_START_SERVICE=Y | N: Indica si los servicios de Linux VDA se inician cuando se complete su configuración.

Si algún parámetro no se ha definido, la instalación revierte al modo interactivo, con una pregunta para que el usuario introduzca una respuesta. El script ctxinstall.sh no solicita respuestas, siempre que todos los parámetros puedan ser suministrados a través de variables de entorno.

En el modo silencioso, se deben 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

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_START_SERVICE=Y | N

sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh
<!--NeedCopy-->

Cuando ejecute el comando sudo, escriba la opción -E para pasar las variables de entorno existentes al nuevo shell que se crea. Citrix 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 todos los parámetros con un único comando:

sudo CTX_EASYINSTALL_HOSTNAME=host-name \

CTX_EASYINSTALL_DNS=ip-address-of-dns \

CTX_EASYINSTALL_NTPS=address-of-ntps \

CTX_EASYINSTALL_DOMAIN=domain-name \

CTX_EASYINSTALL_REALM=realm-name \

......

CTX_XDL_SEARCH_BASE=search-base-set \

CTX_XDL_START_SERVICE=Y \

/opt/Citrix/VDA/sbin/ctxinstall.sh
<!--NeedCopy-->

Consideraciones

  • El nombre de grupo de trabajo es el nombre de dominio de forma predeterminada. Para personalizar el grupo de trabajo en el entorno, lleve a cabo lo siguiente:

    a. Cree el archivo /tmp/ctxinstall.conf en la máquina Linux VDA.
    b. Agregue la línea workgroup=\<su grupo de trabajo\> al archivo.

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

  • Para Centrify en CentOS, Easy Install puede fallar en adcheck, la herramienta de comprobación del entorno de Centrify, y notificar el siguiente error:

    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 se debe a la configuración especial de Centrify. Haga lo siguiente para resolver este problema:

    a. Abra Herramientas administrativas en Delivery Controller.
    b. Seleccione Sitios y servicios de Active Directory.
    c. Agregue una dirección de subred correcta para Subredes.

  • Si elige Centrify como el método para unirse a un dominio, el script ctxinstall.sh necesita el paquete de Centrify. ctxinstall.sh puede obtener el paquete de Centrify de dos formas:

Solución de problemas

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

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 lanza una sesión, que luego se bloquea en un escritorio vacío. Además, la consola de la máquina de SO de servidor 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

Falla el lanzamiento de 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 la ventana emergente resultante, compruebe si Create home directory on login está seleccionado.

    Imagen del error "ubuntu no pudo iniciar sesión"

La sesión no puede iniciarse 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, Citrix 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/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.

Easy Install