Linux Virtual Delivery Agent

Installation rapide à l’aide d’Easy Install (Recommandé)

Important :

  • Pour les nouvelles installations, nous vous recommandons de consulter cet article pour effectuer une installation rapide. Cet article explique comment installer et configurer Linux VDA à l’aide d’Easy Install. Easy Install permet de gagner du temps et économiser de la main d’œuvre. et il est plus fiable que l’installation manuelle. Elle vous permet de configurer un environnement d’exécution Linux VDA en installant les packages nécessaires et en personnalisant automatiquement les fichiers de configuration.

  • Pour créer des VDA n’appartenant pas à un domaine, vous devez utiliser Machine Creation Services (MCS). Pour plus d’informations, consultez la section Utiliser Machine Creation Services (MCS) pour créer des machines virtuelles Linux.

  • Pour en savoir plus sur les fonctionnalités disponibles pour les VDA n’appartenant pas à un domaine, consultez la section VDA n’appartenant pas à un domaine.

É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 Linux VDA doit être installé
  • Adresse IP du serveur de nom de domaine
  • Adresse IP ou nom de chaîne du serveur NTP
  • Nom de domaine : nom NetBIOS du domaine
  • Nom de zone : nom de la zone Kerberos
  • Nom de domaine complet (FQDN) du domaine

Important :

  • Pour installer le Linux VDA, 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 Windows sont installés.

Considérations

  • 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 Linux VDA.
    b. Ajoutez la ligne « workgroup=\<votre groupe de travail\> » au fichier et enregistrez vos modifications.

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

    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.
     <!--NeedCopy-->
    

    Ce problème est unique à Centrify et à sa configuration. Pour résoudre ce problème, procédez comme suit :

    a. Ouvrez Outils d’administration sur le contrôleur de domaine.
    b. Sélectionnez Sites et services Active Directory.
    c. Ajoutez une adresse de sous-réseau appropriée pour Sous-réseaux.

  • Pour joindre votre VDA à une unité d’organisation spécifique, procédez comme suit :

    1. Assurez-vous que l’unité d’organisation spécifique existe sur le contrôleur de domaine.

      Pour obtenir un exemple d’unité d’organisation, consultez la capture d’écran suivante.

      Exemple d'unité d'organisation

    2. Créez le fichier /tmp/ctxinstall.conf sur le VDA.
    3. Ajoutez la ligne ou=<your ou> au fichier /tmp/ctxinstall.conf.

      Les valeurs de l’unité d’organisation varient en fonction des différentes méthodes AD. Voir le tableau suivant.

      OS 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 8 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"
  • Easy Install prend en charge IPv6 pur à partir de la version 7.16 de Linux VDA. Les conditions préalables et limitations suivantes s’appliquent :

    • Vous devez configurer votre référentiel Linux pour vous assurer que votre machine peut télécharger les packages requis dans des environnements IPv6 purs.
    • Centrify n’est pas pris en charge dans les réseaux IPv6 purs.

    Remarque :

    Si votre réseau est un réseau IPv6 pur et que toutes vos entrées sont au format IPv6 correct, le VDA s’enregistre auprès du Delivery Controller via IPv6. Si votre réseau dispose d’une configuration hybride IPv4 et IPv6, le type de la première adresse IP du DNS détermine si IPv4 ou IPv6 est utilisé pour l’enregistrement.

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

  • Si vous choisissez PBIS comme méthode pour rejoindre un domaine, le script ctxinstall.sh exige le package PBIS. Le script ctxinstall.sh peut obtenir le package PBIS de deux façons :

    • Easy Install permet de télécharger le package PBIS depuis Internet automatiquement. Les adresses URL pour chaque distribution sont les suivantes :

      CentOS 7, RHEL 7 : wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.rpm.sh

      Amazon Linux 2, RHEL 8, SUSE 15.3, SUSE 15.2 : wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh

      Debian, Ubuntu : wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.deb.sh

    • Le script peut également récupérer une version spécifique du package PBIS à partir d’Internet. Pour ce faire, modifiez la ligne « pbisDownloadPath » dans le fichier /opt/Citrix/VDA/sbin/ctxinstall.sh pour spécifier l’URL du package PBIS.

      Pour obtenir un exemple, consultez la capture d’écran suivante :

      Récupérer une version spécifique du package PBIS

Étape 2 : préparer l’hyperviseur

Certaines modifications sont requises pour l’exécution du Linux VDA en tant que machine virtuelle sur un hyperviseur pris en charge. Apportez les modifications suivantes en fonction de la plateforme d’hyperviseur utilisée. Aucune modification n’est requise si vous utilisez la machine Linux sur un matériel bare metal.

Corriger la synchronisation de l’heure sur Citrix Hypervisor

Si la fonctionnalité de synchronisation de l’heure de Citrix Hypervisor est activée, vous rencontrerez des problèmes dans chaque VM Linux paravirtualisée avec NTP et Citrix Hypervisor. En effet, les deux systèmes essaient de gérer l’horloge système. Pour éviter que l’horloge ne soit plus synchronisée avec d’autres serveurs, assurez-vous l’horloge du système de chaque invité Linux est synchronisée avec NTP. Cela nécessite la désactivation de la synchronisation de l’heure de l’hôte. Aucune modification n’est requise en mode HVM.

Si vous utilisez un noyau Linux paravirtualisé avec le composant Citrix VM Tools installé, vous pouvez vérifier si la fonctionnalité de synchronisation de l’heure de Citrix Hypervisor est présente et activée à partir de la VM Linux :

su -

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

Cette commande renvoie 0 ou 1 :

  • 0 - La fonctionnalité de synchronisation de l’heure est activée, et doit être désactivée.
  • 1 - La fonctionnalité de synchronisation de l’heure est désactivée, et aucune action n’est requise.

Si le fichier /proc/sys/xen/independent_wallclock n’existe pas, les étapes suivantes ne sont pas nécessaires.

Si la fonctionnalité de synchronisation est activée, désactivez-la en entrant 1 dans le fichier :

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

Pour rendre cette modification permanente et persistante après le redémarrage, modifiez le fichier /etc/sysctl.conf et ajoutez la ligne :

xen.independent_wallclock = 1

Pour vérifier ces modifications, redémarrez le système :

su -

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

Cette commande renvoie la valeur 1.

Corriger la synchronisation de l’heure sur Microsoft Hyper-V

Les VM Linux sur lesquelles Hyper-V Integration Services est installé peuvent tirer parti de la fonctionnalité de synchronisation de l’heure Hyper-V pour utiliser l’heure du système d’exploitation hôte. Pour vous assurer que l’horloge du système est toujours précise, cette fonctionnalité doit être activée avec les services NTP.

Depuis le système d’exploitation de gestion :

  1. Ouvrez la console du gestionnaire Hyper-V.
  2. Pour les paramètres d’une machine virtuelle Linux, sélectionnez Integration Services.
  3. Assurez-vous que Time synchronization est sélectionné.

Remarque :

Cette approche diffère de VMware et Citrix Hypervisor, pour lesquels la synchronisation de l’heure est désactivée pour éviter tout conflit avec NTP. La synchronisation de l’heure Hyper-V peut co-exister avec la synchronisation de l’heure NTP.

Corriger la synchronisation de l’heure sur ESX et ESXi

Si la fonctionnalité de synchronisation de l’heure de VMware est activée, vous rencontrerez des problèmes dans chaque VM Linux paravirtualisée avec l’hyperviseur et NTP. En effet, les deux systèmes essaient de synchroniser l’horloge système. Pour éviter que l’horloge ne soit plus synchronisée avec d’autres serveurs, assurez-vous l’horloge du système de chaque invité Linux est synchronisée avec NTP. Cela nécessite la désactivation de la synchronisation de l’heure de l’hôte.

Si vous exécutez un noyau Linux paravirtualisé sur lequel VMware Tools est installé :

  1. Ouvrez vSphere Client.
  2. Modifiez les paramètres pour la VM Linux.
  3. Dans la boîte de dialogue Virtual Machine Properties (Propriétés de la machine virtuelle), ouvrez l’onglet Options.
  4. Sélectionnez VMware Tools.
  5. Dans la zone Advanced (Avancé), désélectionnez Synchronize guest time with host (Synchroniser l’heure de l’invité avec l’hôte).

Étape 3 : installer .NET Runtime 6.0 en tant que condition préalable

Avant d’installer Linux VDA, installez .NET Runtime 6.0 conformément aux instructions de l’article https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.

Après avoir installé .NET Runtime 6.0, exécutez la commande which dotnet pour trouver votre chemin d’exécution.

En fonction de la sortie de la commande, définissez le chemin binaire de .NET Runtime. Par exemple, si la sortie de la commande est /aa/bb/dotnet, utilisez /aa/bb comme chemin binaire .NET.

Étape 4 : télécharger le package Linux VDA

Accédez à la page de téléchargement de Citrix Virtual Apps and Desktops. Développez la version appropriée de Citrix Virtual Apps and Desktops et cliquez sur Composants pour télécharger le package Linux VDA correspondant à votre distribution Linux.

Étape 5 : installer le package VDA Linux

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

Pour les distributions RHEL et CentOS :

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

Pour les distributions Ubuntu/Debian :

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

Remarque :

Pour installer les dépendances nécessaires pour une distribution Debian, ajoutez la ligne deb http://deb.debian.org/debian/ oldstable main au fichier /etc/apt/sources.list.

Pour les distributions SUSE :

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

Étape 6 : installer les pilotes NVIDIA GRID

Pour activer HDX 3D Pro, vous devez installer les pilotes NVIDIA GRID sur votre hyperviseur et sur les machines VDA.

Pour installer et configurer le gestionnaire de GPU virtuel NVIDIA GRID (pilote hôte) sur les hyperviseurs spécifiques, consultez les guides suivants :

Pour installer et configurer les pilotes de VM invitée NVIDIA GRID, effectuez les opérations générales suivantes :

  1. Assurez-vous que la VM invitée est arrêtée.
  2. Dans le panneau de configuration de l’hyperviseur, attribuez un GPU à la VM.
  3. Démarrez la VM.
  4. Installez le pilote de VM invitée sur la VM.

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

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

Remarque :

Avant de configurer l’environnement d’exécution, assurez-vous que les paramètres régionaux en_US.UTF-8 sont installés dans votre système d’exploitation. Si les paramètres régionaux ne sont pas disponibles dans votre système d’exploitation, exécutez la commande sudo locale-gen en_US.UTF-8. Pour Debian, modifiez le fichier /etc/locale.gen en supprimant les marques de commentaire de la ligne # en_US.UTF-8 UTF-8, puis exécutez la commande sudo locale-gen.

Mode interactif :

Il existe deux manières d’utiliser Easy Install en mode interactif :

  • Exécutez la commande sudo /opt/Citrix/VDA/sbin/ctxinstall.sh et saisissez le paramètre approprié à chaque invite de l’interface de ligne de commande.
  • Exécutez la commande /opt/Citrix/VDA/bin/easyinstall dans l’environnement de bureau de votre VDA, puis suivez les instructions de l’interface utilisateur graphique Easy Install.

Interface utilisateur graphique Easy Install

L’interface Easy Install vous guide à travers les opérations suivantes :

  • Vérifier l’environnement du système
  • Installer les dépendances
  • Joindre le VDA à un domaine spécifié
  • Configurer l’environnement d’exécution

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 Linux VDA.
  • 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 | pbis : 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.

Le script ctxsetup.sh utilise les variables suivantes :

  • CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N : le Linux VDA 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 Linux VDA requiert une liste séparée par des espaces de noms de domaines complets de Delivery Controller. 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 Linux VDA 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 (par défaut, les ports 80 et 1494) dans le pare-feu du système pour Linux Virtual Desktop.
  • CTX_XDL_HDX_3D_PRO = Y | N : Linux VDA prend en charge HDX 3D Pro, un ensemble de technologies d’accélération GPU conçues pour optimiser la virtualisation des applications riches en graphiques. 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.
  • 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 Linux VDA découvre 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, définissez la valeur sur <none>.
  • CTX_XDL_LDAP_LIST=’list-ldap-servers’ : le Linux VDA envoie une requête vers le 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 ports LDAP. Par exemple, ad1.mycompany.com:389. Si cela n’est pas nécessaire, définissez la valeur sur <none>.
  • CTX_XDL_SEARCH_BASE=search-base-set : le Linux VDA 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, définissez la valeur sur <none>.
  • CTX_XDL_FAS_LIST=’list-fas-servers’ : les serveurs du service d’authentification fédérée (FAS) sont configurés via la stratégie de groupe AD. Le Linux VDA ne prend pas en charge la stratégie de groupe AD mais vous pouvez fournir une liste de serveurs FAS séparés par des points-virgules. La séquence doit être la même que celle configurée dans la stratégie de groupe AD. Si une adresse de serveur est supprimée, remplissez son espace vide avec la chaîne de texte <none> et ne modifiez pas l’ordre des adresses de serveur.
  • CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime : chemin d’accès à l’installation de .NET Runtime 6.0 pour la prise en charge du nouveau Broker Agent Service (ctxvda). Le chemin par défaut est /usr/bin.
  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/mate : spécifie l’environnement de bureau GNOME, GNOME Classic ou MATE à utiliser dans les sessions. Si vous ne spécifiez pas la variable, le bureau actuellement installé sur le VDA est utilisé. Toutefois, si le bureau actuellement installé est MATE, vous devez définir la valeur de la variable sur mate.

    Vous pouvez également modifier l’environnement de bureau d’un utilisateur de session cible en procédant comme suit :

    1. Créez un fichier .xsession ou .Xclients sous le répertoire $HOME/<username> sur le VDA. Si vous utilisez Amazon Linux 2, créez un fichier .Xclients. Si vous utilisez d’autres distributions, créez un fichier .xsession.
    2. Modifiez le fichier .xsession ou .Xclients pour spécifier un environnement de bureau basé sur les distributions.

      • Pour le bureau MATE sur Amazon Linux 2, CentOS, Debian, RHEL, SUSE 15 et Ubuntu

         MSESSION="$(type -p mate-session)"  
         if [ -n "$MSESSION" ]; then  
           exec mate-session  
         fi  
        
      • Pour le bureau GNOME Classic sur Amazon Linux 2, CentOS, Debian, RHEL, SUSE 15 et Ubuntu

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         export GNOME_SHELL_SESSION_MODE=classic  
         exec gnome-session --session=gnome-classic  
         fi  
        
      • Pour le bureau GNOME sur Amazon Linux 2, CentOS, Debian, RHEL, SUSE 15 et Ubuntu

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi  
        
    3. Partagez l’autorisation de fichier 700 avec l’utilisateur de la session cible.
  • CTX_XDL_START_SERVICE=Y | N : indique si les services Linux VDA sont démarrés lorsque la configuration est terminée.
  • CTX_XDL_TELEMETRY_SOCKET_PORT : port socket permettant d’écouter Citrix Scout. Le port par défaut est 7503.
  • CTX_XDL_TELEMETRY_PORT : port de communication avec Citrix Scout. Le port par défaut est 7502.

Si aucun paramètre n’est défini, l’installation retourne en mode interactif et l’utilisateur est invité à intervenir. Lorsque tous les paramètres sont déjà définis via les variables d’environnement, le script ctxinstall.sh invite toujours l’utilisateur à entrer le chemin d’installation de .NET Runtime 6.0.

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

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

Vous pouvez également spécifier tous les paramètres avec une seule commande :

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

Étape 8 : exécuter XDPing

Exécutez sudo /opt/Citrix/VDA/bin/xdping pour vérifier les problèmes de configuration courants avec un environnement VDA Linux. Pour de plus amples informations, consultez la section XDPing.

Étape 9 : exécuter le Linux VDA

Démarrer Linux VDA :

Pour démarrer les services Linux VDA :

sudo /sbin/service ctxhdx start

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

Arrêter Linux VDA :

Pour arrêter les services Linux VDA :

sudo /sbin/service ctxvda stop

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

Remarque :

Avant d’arrêter les services ctxvda et ctxhdx, exécutez la commande service ctxmonitorservice stop pour arrêter le démon du service de surveillance. Sinon, le démon du service de surveillance redémarre les services que vous avez arrêtés.

Redémarrer Linux VDA :

Pour redémarrer les services Linux VDA :

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

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

Vérifier l’état de Linux VDA :

Pour vérifier l’état de fonctionnement des services de Linux VDA :

sudo /sbin/service ctxvda status

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

Étape 10 : créer des catalogues de machines dans Citrix Virtual Apps ou Citrix Virtual Desktops

Le processus de création de catalogues de machines et d’ajout de machines Linux VDA est similaire à l’approche traditionnelle avec les VDA Windows. Pour obtenir une description plus détaillée de la méthode à utiliser pour effectuer ces tâches, consultez les sections Créer des catalogues de machines et Gérer des catalogues de machines.

Pour la création de catalogues de machines contenant des machines Linux VDA, il existe quelques restrictions qui différencient ce processus de la création de catalogues de machines pour VDA Windows :

  • Pour le système d’exploitation, sélectionnez :
    • l’option OS à sessions multiples pour un modèle de mise à disposition de bureaux partagés hébergés ;
    • l’option OS mono-session pour un modèle de mise à disposition de bureaux dédiés VDI.
  • Ne combinez pas de machines Linux VDA et Windows dans le même catalogue de machines.

Remarque :

Les versions antérieures de Citrix Studio ne prenaient pas en charge la notion de « système d’exploitation Linux. » Toutefois, la sélection de l’option OS de serveur Windows ou OS de serveur implique un modèle de mise à disposition équivalent de bureaux partagés hébergés. La sélection de l’option OS de bureau Windows ou OS de bureau implique un modèle de mise à disposition d’un utilisateur unique par machine.

Conseil :

Si une supprimez une machine puis que vous la rejoignez au domaine Active Directory, vous devez supprimer et rajouter la machine au catalogue de machines.

Étape 11 : créer des groupes de mise à disposition dans Citrix Virtual Apps ou Citrix Virtual Desktops

Le processus de création d’un groupe de mise à disposition et d’ajout de catalogues de machines contenant des machines Linux VDA est presque identique aux machines VDA Windows. Pour obtenir une description plus détaillée de la méthode à utiliser pour effectuer ces tâches, consultez la section Créer des groupes de mise à disposition.

Lors de la création de groupes de mise à disposition qui contiennent des catalogues de machines Linux VDA, les restrictions suivantes s’appliquent :

  • Assurez-vous que les utilisateurs et les groupes AD que vous sélectionnez ont été correctement configurés pour l’ouverture de session sur les machines Linux VDA.
  • N’autorisez pas l’ouverture de session d’utilisateurs non authentifiés (anonymes).
  • Ne combinez pas le groupe de mise à disposition avec des catalogues de machines contenant des machines Windows.

Important :

La publication d’applications est prise en charge avec la version 1.4 de Linux VDA et les versions supérieures. Toutefois, le Linux VDA ne prend pas en charge la mise à disposition de bureaux et d’applications sur la même machine.

Pour plus d’informations sur la création de catalogues de machines et de groupes de mise à disposition, consultez Citrix Virtual Apps and Desktops 7 2203.

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 la fonctionnalité Easy Install.

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

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 affiche également un écran gris lorsque vous vous connectez en utilisant un compte d’utilisateur local.

Pour résoudre ce problème :

  1. Exécutez la commande sudo apt-get update.
  2. Exécutez la commande 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 d’un 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.
<!--NeedCopy-->

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 boîte de dialogue qui s’affiche, vérifiez que Create home directory login est sélectionné.

    Ubuntu ne peut 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.
<!--NeedCopy-->

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
<!--NeedCopy-->

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, nous vous recommandons 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
<!--NeedCopy-->

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.