Linux Virtual Delivery Agent

Créer des VDA joints à un domaine à l’aide d’Easy Install

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 non joints à un domaine, vous pouvez utiliser Machine Creation Services (MCS) et Easy Install. Pour plus d’informations, consultez Créer des VDA Linux non joints à un domaine à l’aide de MCS et Créer un Linux VDA non joint à un domaine à l’aide d’Easy Install (Technical Preview).

  • Pour en savoir plus sur les fonctionnalités disponibles pour les VDA non joints à un domaine, consultez la section VDA non joints à 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.
  • Méthode d’intégration d’Active Directory (AD) : actuellement, Easy Install prend en charge SSSD, Winbind, Centrify, PBIS et Quest. Easy install prend en charge Quest uniquement pour RHEL et Rocky Linux.
  • Nom d’utilisateur : nom de l’utilisateur qui joint la machine au domaine
  • Mot de passe : mot de passe de l’utilisateur qui joint la machine au domaine
  • Unité d’organisation (UO) Facultatif.

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.
  • Pour des raisons de sécurité, Easy Install n’enregistre pas le mot de passe permettant de joindre le domaine. Chaque fois que vous exécutez le script Easy Install (ctxinstall.sh) en mode interactif, vous devez saisir manuellement le mot de passe pour joindre le domaine. En mode silencieux, vous devez définir le mot de passe permettant de joindre le domaine dans /Citrix/VDA/sbin/ctxinstall.conf ou exporter le mot de passe. Nous vous recommandons de ne pas utiliser le compte administrateur pour rejoindre un domaine. Déléguez plutôt les autorisations pour joindre un domaine à un utilisateur Active Directory autre que le compte administrateur. Pour ce faire, déléguez le contrôle sur le contrôleur de domaine à l’aide de l’Assistant Délégation de contrôle.

É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 XenServer (anciennement Citrix Hypervisor)

Lorsque la fonctionnalité de synchronisation de l’heure de XenServer est activée, vous rencontrez des problèmes avec NTP et XenServer au sein de chaque machine virtuelle Linux paravirtualisée. 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 XenServer VM Tools installé, vous pouvez vérifier si la fonctionnalité de synchronisation de l’heure de XenServer 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 désactivé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 XenServer (anciennement 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 : Installation de .NET

Outre le runtime .NET, vous devez installer le runtime .ASP.NET Core sur toutes les distributions Linux prises en charge avant d’installer ou de mettre à niveau le Linux VDA. La version 6 est requise pour Amazon Linux 2. La version 8 est requise pour les autres distributions.

Si votre distribution Linux contient la version .NET dont vous avez besoin, installez-la à partir du flux intégré. Sinon, installez .NET à partir du flux de packages Microsoft. Pour plus d’informations, consultez https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.

Après avoir installé le runtime .NET, exécutez la commande which dotnet pour trouver le 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

  1. Accédez à la page de téléchargement de Citrix Virtual Apps and Desktops.
  2. Développez la version appropriée de Citrix Virtual Apps and Desktops.
  3. Développez Components pour trouver le Linux VDA. Par exemple :

    Composants pour Citrix Virtual Apps and Desktops

  4. Cliquez sur le lien Linux VDA pour accéder aux téléchargements de Linux VDA.

    Téléchargements de Linux VDA

  5. Téléchargez le package Linux VDA correspondant à votre distribution Linux.

  6. Téléchargez la clé publique GPG que vous pouvez utiliser pour vérifier l’intégrité du package Linux VDA. Par exemple :

    Clé publique GPG

    Pour vérifier l’intégrité du package Linux VDA à l’aide de la clé publique :

    • Pour un package RPM, exécutez les commandes suivantes pour importer la clé publique dans la base de données RPM et vérifier l’intégrité du package :

       rpmkeys --import <path to the public key>
       rpm --checksig --verbose <path to the Linux VDA package>
       <!--NeedCopy-->
      
    • Pour un package DEB, exécutez les commandes suivantes pour importer la clé publique dans la base de données DEB et vérifier l’intégrité du package :

       sudo apt-get install dpkg-sig
       gpg --import <path to the public key>
       dpkg-sig --verify <path to the Linux VDA package>
       <!--NeedCopy-->
      

Étape 5 : installer le package VDA Linux

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

Pour les distributions Amazon Linux 2, CentOS, RHEL et Rocky Linux :

Remarque :

  • Pour RHEL et CentOS, vous devez installer le référentiel EPEL avant de pouvoir installer le Linux VDA. Pour plus d’informations sur l’installation d’EPEL, consultez les instructions de la page https://docs.fedoraproject.org/en-US/epel/.

  • Avant d’installer Linux VDA sur RHEL 9.4/9.3/9.2 et Rocky Linux 9.4/9.3/9.2, mettez à jour le package libsepol vers la version 3.4 ou ultérieure.

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

Remarque :

Après avoir installé le Linux VDA sur RHEL 8.x/9.x et Rocky Linux 8.x/9.x hébergés sur GCP, la connexion Ethernet peut être perdue et le Linux VDA peut être inaccessible après le redémarrage d’une machine virtuelle. Pour contourner ce problème, définissez un mot de passe racine lorsque vous vous connectez à la VM pour la première fois et assurez-vous que vous pouvez vous connecter à la VM en tant qu’utilisateur racine. Exécutez ensuite les commandes suivantes dans la console après avoir redémarré la VM :

nmcli dev connect eth0
systemctl restart NetworkManager
<!--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 11, ajoutez la ligne deb http://deb.debian.org/debian/ bullseye main au fichier /etc/apt/sources.list.

  • Pour Ubuntu 20.04 sur GCP, désactivez RDNS. Pour ce faire, ajoutez la ligne rdns = false sous [libdefaults] dans /etc/krb5.conf.

Pour les distributions SUSE :

  1. Pour SUSE 15.5 sur AWS, Azure et GCP, assurez-vous que :

    • Vous utilisez libstdc++6 version 12 ou ultérieure.
    • Le paramètre Default_WM dans /etc/sysconfig/windowmanager est défini sur « gnome ».
  2. Exécutez la commande suivante pour installer le Linux VDA :

    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 : spécifier la base de données à utiliser

Vous pouvez également basculer entre SQLite et PostgreSQL après avoir installé le package Linux VDA. Pour ce faire, procédez comme suit :

Remarque :

  • Nous vous recommandons d’utiliser SQLite pour le mode VDI uniquement et d’utiliser PostgreSQL pour un modèle de mise à disposition de bureaux partagés hébergés.
  • Pour Easy Install et MCS, vous pouvez spécifier SQLite ou PostgreSQL sans avoir à les installer manuellement. Sauf indication contraire dans /etc/xdl/db.conf, le Linux VDA utilise PostgreSQL par défaut.
  • Vous pouvez également utiliser /etc/xdl/db.conf pour configurer le numéro de port de PostgreSQL.
  1. Modifiez /etc/xdl/db.conf pour spécifier la base de données à utiliser.
  2. Exécutez sudo /opt/Citrix/VDA/sbin/ctxinstall.sh ou /opt/Citrix/VDA/bin/easyinstall.

Étape 8 : terminez l’installation en exécutant Easy Install pour configurer l’environnement et le VDA

Après l’installation du package Linux VDA, configurez l’environnement d’exécution à l’aide du script ctxinstall.sh ou de l’interface utilisateur.

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.

ctxinstall.sh

Le script Easy Install ctxinstall.sh permet d’effectuer certaines préconfigurations et de configurer le VDA exécutant des variables d’environnement.

  • Seul un accès racine peut exécuter ce script.

  • Easy Install utilise le fichier de configuration “/opt/Citrix/VDA/sbin/ctxinstall.conf” pour définir, enregistrer et synchroniser les valeurs de toutes les variables d’environnement utilisées. Nous vous recommandons de lire attentivement le modèle (ctxinstall.conf.tmpl), puis de personnaliser votre propre fichier “ctxinstall.conf”. Lorsque vous créez le fichier de configuration pour la première fois, utilisez l’une des méthodes suivantes :
    • Copiez le fichier de modèle /opt/Citrix/VDA/sbin/ctxinstall.conf.tmpl et enregistrez-le sous /opt/Citrix/VDA/sbin/ctxinstall.conf.
    • Exécutez ctxinstall.sh. Chaque fois que vous exécutez ctxinstall.sh, votre entrée est enregistrée dans /opt/Citrix/VDA/sbin/ctxinstall.conf.
  • Easy Install permet un fonctionnement modulaire. Les modules incluent la pré-vérification, l’installation, la configuration de domaine, la configuration et la vérification.

  • Les détails de débogage de ce script se trouvent dans le fichier “/var/log/xdl/ctxinstall.log”.

Pour plus d’informations, utilisez la commande d’aide ctxinstall.sh -h.

Remarque :

  • Respectez le principe du moindre privilège et assurez-vous que seul l’utilisateur racine peut lire /opt/Citrix/VDA/sbin/ctxinstall.conf ; en effet, le mot de passe permettant de joindre domaine peut être défini dans le fichier.
  • La désinstallation du Linux VDA supprime les fichiers situés sous /opt/Citrix/VDA. Nous vous recommandons de sauvegarder /opt/Citrix/VDA/sbin/ctxinstall.conf avant de désinstaller le VDA.

Vous pouvez exécuter ctxinstall.sh en mode interactif ou en mode silencieux. Avant d’exécuter le script, définissez les variables d’environnement suivantes :

  • CTX_XDL_NON_DOMAIN_JOINED=’Y|N’ : indique s’il faut associer la machine à un domaine . La valeur par défaut est “n”. Pour les scénarios liés à un domaine, définissez la valeur sur “n”.

  • CTX_XDL_AD_INTEGRATION=’sssd|winbind|centrify|pbis|quest’ : le Linux VDA requiert que les paramètres de configuration Kerberos s’authentifient auprès des Delivery Controller. La configuration de Kerberos est déterminée depuis l’outil d’intégration d’Active Directory installé et configuré sur le système.

  • CTX_XDL_DDC_LIST=’<list-ddc-fqdns>’ : 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_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_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 VDA doit être configuré pour le mode Bureaux VDI (session unique), c’est-à-dire, CTX_XDL_VDI_MODE=‘y’.

  • CTX_XDL_START_SERVICE=’y|n’ : indique si les services Linux VDA sont lancés une fois la configuration de Linux VDA terminée.

  • 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_DESKTOP_ENVIRONMENT=gnome/gnome-classic/kde/mate/xfce/’<none>‘ : spécifie l’environnement de bureau GNOME, GNOME Classic, KDE, MATE ou Xfce à utiliser dans les sessions. Si vous le définissez sur <none>, le bureau configuré par défaut sur le VDA est utilisé.

  • CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime : chemin d’installation du runtime .NET pour la prise en charge du nouveau Broker Agent Service (ctxvda). Le chemin d’accès par défaut est ‘/usr/bin’.

  • CTX_XDL_VDA_PORT=port-number : le Linux VDA communique avec les Delivery Controller via un port TCP/IP.

  • 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 ad2.mycompany.com:3268 ad3.mycompany.com:3268. Pour accélérer les requêtes LDAP dans une forêt Active directory, activez le catalogue global sur un contrôleur de domaine et définissez le numéro de port LDAP correspondant sur 3268. Cette variable est définie sur ‘<none>‘ par défaut.

  • 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_SUPPORT_DDC_AS_CNAME=’y|n’ : le Linux VDA prend en charge la spécification d’un nom de composant Delivery Controller à l’aide d’un enregistrement DNS CNAME.

  • CTX_EASYINSTALL_DNS=’<ip-address-of-dns>’ : adresse IP du DNS.

  • CTX_EASYINSTALL_HOSTNAME=host-name : nom d’hôte du serveur Linux VDA.

  • CTX_EASYINSTALL_NTPS=address-of-ntps : adresse IP ou nom de chaîne du serveur NTP.

  • CTX_EASYINSTALL_REALM=realm-name : nom de la zone Kerberos.

  • CTX_EASYINSTALL_FQDN=ad-fqdn-name

  • CTX_EASYINSTALL_USERNAME=domain-user-name : nom de l’utilisateur qui joint la machine au domaine.

  • CTX_EASYINSTALL_PASSWORD=password : mot de passe de l’utilisateur qui joint la machine au domaine.

Remarque :

Nous vous recommandons de ne pas utiliser le compte administrateur pour rejoindre un domaine. Déléguez plutôt les autorisations pour joindre un domaine à un utilisateur Active Directory autre que le compte administrateur. Pour ce faire, déléguez le contrôle sur le contrôleur de domaine à l’aide de l’Assistant Délégation de contrôle.

Les quatre variables suivantes sont facultatives. Même si elles ne sont pas définies, ctxinstall.sh ne s’interrompra pas en mode silencieux et vous ne serez pas invité à saisir des informations utilisateur en mode interactif. Vous pouvez les définir uniquement en exportant leurs valeurs ou en modifiant /Citrix/VDA/sbin/ctxinstall.conf.

  • CTX_EASYINSTALL_NETBIOS_DOMAIN=netbios-domain-name : le nom de domaine NetBIOS est généralement le premier composant du nom de domaine DNS séparé par un point (.). Vous pouvez également personnaliser un autre nom de domaine NetBIOS. Cette variable est facultative.

  • CTX_EASYINSTALL_OU=ou-value : les valeurs de l’unité d’organisation varient en fonction des différentes méthodes d’intégration AD. Pour obtenir un exemple de valeurs d’unité d’organisation, consultez le tableau de la section Considérations de cet article. Cette variable est facultative.
  • CTX_EASYINSTALL_CENTRIFY_LOCAL_PATH=centrify-local-path : grâce à Easy Install, vous pouvez télécharger le package Centrify depuis Internet. Toutefois, si Centrify est déjà installé, vous pouvez récupérer le package Centrify à partir d’un répertoire local défini par cette variable. Cette variable est facultative.
  • CTX_EASYINSTALL_PBIS_LOCAL_PATH= pbis-local-path : grâce à Easy Install, vous pouvez télécharger le package PBIS depuis Internet. Toutefois, si PBIS est déjà installé, vous pouvez récupérer le package PBIS depuis un répertoire local défini par cette variable. Cette variable est facultative.

Considérations

  • Le nom de domaine NetBIOS est généralement le premier composant du nom de domaine DNS séparé par un point (.). Pour personnaliser un nom de domaine NetBIOS différent dans votre environnement, définissez la variable d’environnement CTX_EASYINSTALL_NETBIOS_DOMAIN dans /opt/Citrix/VDA/sbin/ctxinstall.conf.

  • 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. Définissez la variable d’environnement CTX_EASYINSTALL_OU dans /opt/Citrix/VDA/sbin/ctxinstall.conf.

      Les valeurs de l’unité d’organisation varient en fonction des différentes méthodes AD. Le tableau suivant présente les exemples de noms d’unité organisationnelle figurant dans la capture d’écran précédente. Vous pouvez utiliser n’importe quel autre nom d’unité organisationnelle au sein de votre organisation.

      OS Winbind SSSD Centrify PBIS
      Amazon Linux 2 "Linux/amazon" "Linux/amazon" "XD.LOCAL/Linux/amazon" "Linux/amazon"
      Debian "Linux/debian" "Linux/debian" "XD.LOCAL/Linux/debian" "Linux/debian"
      RHEL 9.4/9.3/9.2, Rocky Linux 9.4/9.3/9.2 "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" S/O S/O
      RHEL 8.x "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" "XD.LOCAL/Linux/redhat" "Linux/redhat"
      Rocky Linux 8.x "OU=redhat,OU=Linux" "OU=redhat,OU=Linux" S/O S/O
      SUSE "Linux/suse" "Linux/suse" "XD.LOCAL/Linux/suse" "Linux/suse"
      Ubuntu "Linux/ubuntu" "Linux/ubuntu" "XD.LOCAL/Linux/ubuntu" "Linux/ubuntu"
  • Centrify ne prend pas en charge la configuration DNS IPv6 pures. Au moins un serveur DNS utilisant IPv4 doit être spécifié dans le fichier /etc/resolv.conf pour que adclient puisse trouver les services AD appropriés.

    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.

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

  • Vous pouvez spécifier un environnement de bureau à utiliser dans les sessions en utilisant la variable CTX_XDL_DESKTOP_ENVIRONMENT comme décrit précédemment. Vous pouvez également passer d’un environnement de bureau à l’autre en exécutant des commandes ou en utilisant la barre d’état système. Pour plus d’informations, consultez Commandes de commutation de bureau et barre d’état système.

  • Si vous choisissez Centrify comme méthode pour rejoindre un domaine, le script ctxinstall.sh exige le package Centrify. ctxinstall.sh peut obtenir le package Centrify de plusieurs manières :

  • Si vous choisissez PBIS comme méthode pour rejoindre un domaine, le script ctxinstall.sh exige le package PBIS. ctxinstall.sh peut obtenir le package PBIS de plusieurs manières :

Mode interactif

Pour exécuter le script ctxinstall.sh en mode interactif, exécutez la commande sudo /opt/Citrix/VDA/sbin/ctxinstall.sh sans l’option -S. Entrez la valeur de variable appropriée à chaque invite dans l’interface de ligne de commande. Si une variable est déjà définie, ctxinstall.sh demande une confirmation au cas où vous souhaiteriez la modifier.

Mode silencieux

En mode silencieux, vous devez définir les variables précédentes à l’aide de /opt/Citrix/VDA/sbin/ctxinstall.conf ou de la commande export. Exécutez ensuite ctxinstall.sh -S (notez que la lettre S est ici en majuscules). Si toutes les variables requises ne sont pas définies ou si certaines valeurs ne sont pas valides, ctxinstall.sh interrompt l’exécution, sauf s’il existe des valeurs par défaut.

La valeur exportée pour chaque variable remplace la valeur dans /Citrix/VDA/sbin/ctxinstall.conf, sauf si elle n’est pas définie. Toutes les valeurs mises à jour sont enregistrées dans /Citrix/VDA/sbin/ctxinstall.conf, à l’exception du mot de passe permettant de joindre le domaine. Ainsi, en mode silencieux, vous devez définir le mot de passe permettant de joindre le domaine dans /Citrix/VDA/sbin/ctxinstall.conf ou exporter le mot de passe.

export CTX_XDL_NON_DOMAIN_JOINED='n'
export CTX_XDL_AD_INTEGRATION=sssd|winbind|centrify|pbis|quest
export CTX_XDL_DDC_LIST='<list-ddc-fqdns>'
export CTX_XDL_VDI_MODE='y|n'
export CTX_XDL_HDX_3D_PRO='y|n'
export CTX_XDL_START_SERVICE='y|n'
export CTX_XDL_REGISTER_SERVICE='y|n'
export CTX_XDL_ADD_FIREWALL_RULES='y|n'
export CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|kde|mate|xfce|'<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>'
export CTX_XDL_VDA_PORT='<port-number>'
export CTX_XDL_SITE_NAME='<dns-site-name>'|'<none>'
export CTX_XDL_LDAP_LIST='<list-ldap-servers>'|'<none>'
export CTX_XDL_SEARCH_BASE='<search-base-set>'|'<none>'
export CTX_XDL_SUPPORT_DDC_AS_CNAME='y|n'
export CTX_EASYINSTALL_DNS='<ip-address-of-dns>'
export CTX_EASYINSTALL_HOSTNAME='<host-name>'
export CTX_EASYINSTALL_NTPS='<address-of-ntps>'
export CTX_EASYINSTALL_REALM='<realm-name>'
export CTX_EASYINSTALL_FQDN='<ad-fqdn-name>'
export CTX_EASYINSTALL_USERNAME='<domain-user-name>'
export CTX_EASYINSTALL_PASSWORD='<password>'
export CTX_EASYINSTALL_NETBIOS_DOMAIN='<netbios-domain>'
export CTX_EASYINSTALL_OU='<organization-unit>'
sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh -S
<!--NeedCopy-->

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 toutes les variables à l’aide d’une seule commande.

Pour configurer les variables d’environnement d’exécution du VDA (celles commençant par CTX_XDL_), vous pouvez exécuter ctxinstall.sh -s (notez que la lettre s est ici en minuscules).

GUI

Vous pouvez utiliser Easy Install via l’interface graphique. 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

Conseil :

Cliquez sur Enregistrer pour enregistrer les paramètres des variables dans un fichier local sous le chemin que vous spécifiez. Cliquez sur Charger pour charger les paramètres des variables à partir d’un fichier que vous spécifiez. Pour plus d’informations sur la configuration des variables MCS, consultez Étape 3 : préparer une image principale.

Étape 9 : 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 10 : exécuter le Linux VDA

Démarrer Linux VDA :

Pour démarrer les services Linux VDA :

sudo systemctl start ctxhdx.service

sudo systemctl start ctxvda.service
<!--NeedCopy-->

Arrêter Linux VDA :

Pour arrêter les services Linux VDA :

sudo systemctl stop ctxvda.service

sudo systemctl stop ctxhdx.service
<!--NeedCopy-->

Remarque :

Avant d’arrêter les services ctxvda et ctxhdx, exécutez la commande systemctl stop ctxmonitord 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 systemctl stop ctxvda.service

sudo systemctl restart ctxhdx.service

sudo systemctl start ctxvda.service
<!--NeedCopy-->

Vérifier l’état de Linux VDA :

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

sudo systemctl status ctxvda.service

sudo systemctl status ctxhdx.service
<!--NeedCopy-->

Étape 11 : créer des catalogues de machines

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 12 : créer des groupes de mise à disposition

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

Étape 13 : mettre à niveau le Linux VDA (facultatif)

Le Linux VDA prend en charge les mises à niveau depuis la version la plus récente. Par exemple, vous pouvez mettre à niveau le Linux VDA de 2308 à 2311 et de 1912 LTSR à 2203 LTSR.

Remarque :

  • La mise à niveau d’une installation existante remplace les fichiers de configuration sous /etc/xdl. Avant de procéder à une mise à niveau, assurez-vous de sauvegarder les fichiers.

  • À compter de la version 2407, le Linux VDA délègue les gestionnaires de packages rpm ou dpkg pour gérer les fichiers de configuration lors des mises à niveau. Voici comment rpm et dpkg interagissent avec les modifications apportées aux fichiers de configuration :

    • rpm: by default keeps the local version and saves the new version from the package with a .rpmnew extension.

    • dpkg: interactively prompts you with a choice on how to proceed. To silently upgrade the Linux VDA while retaining your local configuration file and saving the new package version as .dpkg-new or .dpkg-dist, use the following command:

       dpkg --force-confold -i package.deb  # Always keep your version, then save new package's version as *.dpkg-new or *.dpkg-dist
       <!--NeedCopy-->
      

Pour les distributions Amazon Linux 2, RHEL et Rocky Linux :

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

Remarque :

Avant de mettre à niveau Linux VDA sur RHEL 9.4/9.3/9.2 et Rocky Linux 9.4/9.3/9.2, mettez à jour le package libsepol vers la version 3.4 ou ultérieure.

Pour les distributions SUSE :

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

Pour les distributions Ubuntu/Debian :

sudo dpkg -i <PATH>/<Linux VDA deb>

sudo apt-get install -f
<!--NeedCopy-->

Dépannage

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 une 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/xdl/ctxinstall.log:

Jan 25 23:30:31 yz-rhel72-1 setroubleshoot[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root. For complete SELinux messages. run sealert -l 32f52c1f-8ff9-4566-a698-963a79f16b81

Jan 25 23:30:31 yz-rhel72-1 python[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root.

*****  Plugin catchall_boolean (89.3 confidence) suggests   ******************

If you want to allow polyinstantiation to enabled

   Then you must tell SELinux about this by enabling the 'polyinstantiation_enabled' boolean.

You can read 'None' man page for more details.

    Do

       setsebool -P polyinstantiation_enabled 1

*****  Plugin catchall (11.6 confidence) suggests   **************************

If you believe that sshd should be allowed setattr access on the root directory by default.

Then you should report this as a bug.

You can generate a local policy module to allow this access.

      Do

       allow this access for now by executing:

       # grep sshd /var/log/audit/audit.log | audit2allow -M mypol

# semodule -i mypol.pp
<!--NeedCopy-->

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.

Créer des VDA joints à un domaine à l’aide d’Easy Install