Easy Install

Easy Install est officiellement pris en charge à partir de la version 7.13 de Linux VDA. Easy Install vous permet de configurer l’environnement d’exécution du VDA Linux en installant les packages nécessaires et en personnalisant les fichiers de configuration automatiquement.

Distributions prises en charge

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

Utiliser Easy Install

Pour utiliser cette fonctionnalité, procédez comme suit :

  1. Préparez les informations de configuration et la machine Linux.
  2. Installez le package VDA Linux
    Accédez au site Web Citrix et téléchargez le package VDA Linux en fonction de la distribution Linux appropriée.
  3. Définissez l’environnement d’exécution afin de terminer l’installation du VDA Linux.

Étape 1 : préparer les informations de configuration et la machine Linux

Collectez les informations de configuration suivantes qui sont requises pour une installation simple :

  • Nom d’hôte : nom d’hôte de la machine sur laquelle le VDA Linux doit être installé
  • Adresse IP du serveur de nom de domaine
  • Adresse IP ou nom de chaîne du serveur NTP
  • Nom de domaine : le nom NetBIOS du domaine
  • Nom de zone : le nom de la zone Kerberos
  • FQDN du domaine actif : nom de domaine complet

Important :

  • Pour installer le VDA Linux, vérifiez que les référentiels sont ajoutés correctement sur la machine Linux.
  • Pour lancer une session, vérifiez que les environnements de bureau et du système X Window sont installés.

Étape 3 : installer le package VDA Linux

Exécutez les commandes suivantes pour configurer l’environnement du VDA Linux.

Pour les distributions RHEL et CentOS :

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

Pour les distributions Ubuntu :

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

Pour les distributions SUSE :

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

Étape 3 : définir l’environnement d’exécution afin de terminer l’installation

Après l’installation du package VDA Linux, configurez l’environnement d’exécution à l’aide du script ctxinstall.sh. Vous pouvez exécuter le script en mode interactif ou silencieux.

Mode interactif :

Pour effectuer une configuration manuelle, exécutez la commande suivante et entrez le paramètre approprié à chaque invite.

sudo /opt/Citrix/VDA/sbin/ctxinstall.sh

Mode silencieux :

Pour utiliser Easy Install en mode silencieux, définissez les variables d’environnement suivantes avant d’exécuter ctxinstall.sh.

  • CTX_EASYINSTALL_HOSTNAME=host-name : indique le nom d’hôte du serveur du VDA Linux.
  • CTX_EASYINSTALL_DNS=ip-address-of-dns : adresse IP du DNS.
  • CTX_EASYINSTALL_NTPS=address-of-ntps : adresse IP ou nom de chaîne du serveur NTP.
  • CTX_EASYINSTALL_DOMAIN=domain-name : nom NetBIOS du domaine.
  • CTX_EASYINSTALL_REALM=realm-name : nom de la zone Kerberos.
  • CTX_EASYINSTALL_FQDN=ad-fqdn-name
  • CTX_EASYINSTALL_ADINTEGRATIONWAY=winbind | sssd | centrify : indique la méthode d’intégration d’Active Directory.
  • CTX_EASYINSTALL_USERNAME=domain-user-name : indique le nom de l’utilisateur du domaine, utilisé pour rejoindre le domaine.
  • CTX_EASYINSTALL_PASSWORD=password : spécifie le mot de passe de l’utilisateur du domaine, utilisé pour rejoindre le domaine.

Les variables suivantes sont utilisées par ctxsetup.sh :

  • CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N : le VDA Linux prend en charge la spécification d’un nom de Delivery Controller à l’aide d’un enregistrement DNS CNAME.
  • CTX_XDL_DDC_LIST=list-ddc-fqdns : le VDA Linux requiert une liste séparée par des espaces de noms de domaines complets. Cette dernière sera utilisée pour l’enregistrement auprès d’un Delivery Controller. Au moins un nom de domaine complet (FQDN) ou CNAME doit être spécifié.
  • CTX_XDL_VDA_PORT=port-number : le VDA Linux communique avec les Delivery Controller via un port TCP/IP.
  • CTX_XDL_REGISTER_SERVICE=Y | N : les services Linux Virtual Desktop sont lancés après le démarrage de la machine.
  • CTX_XDL_ADD_FIREWALL_RULES=Y | N : les services Linux Virtual Desktop requièrent que les connexions réseau entrantes soient autorisées via le pare-feu du système. Vous pouvez ouvrir automatiquement les ports requis (ports 80 et 1494 par défaut) dans le pare-feu du système pour Linux Virtual Desktop.
  • CTX_XDL_HDX_3D_PRO=Y | N : Linux Virtual Desktop prend en charge HDX 3D Pro, un ensemble de technologies d’accélération des graphiques conçues pour optimiser la virtualisation des applications riches en graphiques. HDX 3D Pro nécessite l’installation d’une carte graphique NVIDIA GRID compatible. Si HDX 3D Pro est sélectionné, le Virtual Delivery Agent doit être configuré pour le mode Bureaux VDI (session unique), c’est-à-dire, CTX_XDL_VDI_MODE=Y. HDX 3D Pro n’est pas pris en charge sur SUSE. Assurez-vous que la valeur est définie sur N pour une plate-forme SUSE.
  • CTX_XDL_VDI_MODE=Y | N : indique si la machine est configurée comme modèle de mise à disposition de bureaux dédiés (VDI) ou comme modèle de mise à disposition de bureaux partagés hébergés. Pour les environnements HDX 3D Pro, définissez cette valeur sur Y.
  • CTX_XDL_SITE_NAME=dns-name : le VDA Linux détecte les serveurs LDAP à l’aide de DNS. Pour limiter les résultats de recherche DNS à un site local, spécifiez un nom de site DNS. Si cela n’est pas nécessaire, la valeur peut être définie sur <none>.
  • CTX_XDL_LDAP_LIST=list-ldap-servers : le VDA Linux envoie une requête au DNS pour découvrir les serveurs LDAP. Si DNS ne peut pas fournir d’enregistrements de service LDAP, vous pouvez entrer une liste séparée par des espaces de noms de domaines complets LDAP avec port LDAP. Par exemple, ad1.mycompany.com:389. Si cela n’est pas nécessaire, la valeur peut être définie sur <none>.
  • CTX_XDL_SEARCH_BASE=search-base-set : le VDA Linux envoie une requête à LDAP via une base de recherche définie sur la racine du domaine (Active Directory (par exemple, D, DC=mycompany,DC=com). Pour améliorer les performances de recherche, vous pouvez spécifier une base de recherche (par exemple, OU=VDI,DC=mycompany,DC=com). Si cela n’est pas nécessaire, la valeur peut être définie sur <none>.
  • CTX_XDL_START_SERVICE=Y | N : indique si les services VDA Linux sont démarrés lorsque la configuration est terminée.

Si aucun paramètre n’est défini, l’installation retourne en mode interactif et l’utilisateur est invité à intervenir. Le script ctxinstall.sh ne demande aucune réponse à condition que tous les paramètres soient déjà fournis par des variables d’environnement.

En mode silencieux, vous devez exécuter les commandes suivantes pour définir des variables d’environnement, puis exécuter le script ctxinstall.sht.

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

Lors de l’exécution de la commande sudo, entrez l’option -E pour transmettre les variables d’environnement au nouveau shell créé. Citrix vous recommande de créer un fichier de script shell à partir des commandes précédentes avec #!/bin/bash en tant que première ligne.

Éventuellement, vous pouvez spécifier les paramètres en utilisant une seule commande :

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

Notions importantes

  • Le nom du groupe de travail est le nom de domaine par défaut. Pour personnaliser le groupe de travail dans votre environnement, procédez comme suit :

    a. Créez le fichier /tmp/ctxinstall.conf sur la machine VDA Linux.
    b. Ajoutez la ligne « workgroup »=<votre groupe de travail> au fichier.

  • Centrify ne prend pas en charge la configuration DNS IPv6 pures. Au moins un serveur DNS utilisant IPv4 est requis dans /etc/resolv.conf pour que adclient puisse trouver les services AD correctement.

  • Pour Centrify sur CentOS, Easy Install peut échouer au niveau de « adcheck », l’outil de vérification de l’environnement Centrify, et signale l’erreur suivante :

    Journal :

    
     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.
    

    Ce problème est dû à la configuration spéciale de Centrify. Procédez comme suit pour résoudre ce problème :

    a. Ouvrez Outils d’administration sur le Delivery Controller.
    b. Sélectionnez Sites et services Active Directory.
    c. Ajoutez une adresse de sous-réseau correcte pour Sous-réseaux.

  • Si vous choisissez Centrify comme méthode pour rejoindre un domaine, le script ctxinstall.sh a besoin du package Centrify. Il existe deux façons pour ctxinstall.sh d’obtenir le package Centrify :

Résolution des problèmes

Utilisez les informations de cette section pour résoudre les problèmes qui peuvent résulter de l’utilisation de cette fonctionnalité.

Impossible de joindre un domaine en utilisant SSSD

Une erreur peut se produire lorsque vous essayez de rejoindre un domaine, ce qui peut entraîner une sortie du type suivant (vérifiez les journaux pour l’impression d’écran) :

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.

/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

Pour résoudre ce problème :

  1. Exécutez la commande rm -f /etc/krb5.keytab.
  2. Exécutez la commande net ads leave $REALM -U $domain-administrator.
  3. Supprimez le catalogue de machines et le groupe de mise à disposition sur le Delivery Controller.
  4. Exécutez /opt/Citrix/VDA/sbin/ctxinstall.sh.
  5. Créez le catalogue de machines et le groupe de mise à disposition sur le Delivery Controller.

Affichage d’un écran gris dans les sessions de bureau Ubuntu

Ce problème se produit lorsque vous lancez une session, qui est ensuite bloquée dans un bureau vide. En outre, la console de la machine avec OS de serveur affiche également un écran gris lorsque vous vous connectez en utilisant un compte d’utilisateur local.

Pour résoudre ce problème :

  1. sudo apt-get update
  2. sudo apt-get install unity lightdm
  3. Ajoutez la ligne suivante à /etc/lightdm/lightdm.conf:
    greeter-show-manual-login=true

Échec du lancement des sessions de bureau Ubuntu en raison du répertoire de base manquant

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

Conseil :

la cause de ce problème réside dans le fait que le répertoire de base n’est pas créé pour l’administrateur de domaine.

Pour résoudre ce problème :

  1. À partir d’une ligne de commande, saisissez pam-auth-update.

  2. Dans la fenêtre contextuelle qui s’affiche, vérifiez que Create home directory login est sélectionné.

    image d'Ubuntu ne pouvant pas lancer la session

Échec du démarrage de la session ou fermeture rapide de la session avec une erreur dbus

/var/log/messages (pour RHEL ou 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.

Ou, pour les distributions Ubuntu, utilisez le journal /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

Certains des groupes ou des modules ne prennent effet qu’après un redémarrage. Si les messages d’erreur dbus s’affichent dans le journal, Citrix vous recommande de redémarrer le système et de réessayer.

SELinux empêche SSHD d’accéder au répertoire de base

L’utilisateur peut lancer une session, mais ne peut pas se connecter.

/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

Pour résoudre ce problème :

  1. Désactivez SELinux en apportant la modification suivante à /etc/selinux/config.

    SELINUX=disabled

  2. Redémarrez le VDA.