Linux Virtual Delivery Agent

Créer un Linux VDA non joint à un domaine à l’aide d’Easy Install (Technical Preview)

Cet article explique comment utiliser Easy Install pour créer et inscrire un Linux VDA non joint à un domaine avec un catalogue de machines dans Citrix DaaS ou Citrix Virtual Apps and Desktops 2407 et versions ultérieures.

Important :

Étape 1 : créer un catalogue de machines

Connectez-vous à Citrix Web Studio et créez un catalogue de machines vide, sans machines. Le Linux VDA ne prend pas en charge l’utilisation d’un fichier de jetons pour l’inscription à un catalogue de machines à alimentation gérée.

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.
  • Ne mélangez pas des machines jointes et non jointes à un domaine dans le même catalogue de machines.
  • Les catalogues de machines Remote PC Access sont pris en charge pour les machines jointes à un domaine uniquement et ne sont pas pris en charge pour les machines non jointes à un domaine.

Remarque

Les premières versions de Citrix Studio ne prennent pas en charge la notion de « système d’exploitation Linux ». Toutefois, la sélection de l’option SE Windows Server ou SE de serveur implique un modèle de mise à disposition de bureaux partagés hébergé équivalent. 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.

Étape 2 : créer un jeton d’inscription

Pour créer un VDA non joint à un domaine à l’aide d’Easy Install, vous avez besoin d’un fichier de jeton pour inscrire le VDA dans un catalogue de machines et l’authentifier auprès du cloud ou du Delivery Controller local. Le Linux VDA ne prend pas en charge l’utilisation d’un fichier de jetons pour l’inscription à un catalogue de machines à alimentation gérée.

Pour créer un jeton d’inscription, procédez comme suit dans Citrix Web Studio :

Conseil :

Dans Citrix DaaS, Web Studio est appelé Configuration complète.

  1. Sélectionnez le catalogue de machines vide précédemment créé, puis sélectionnez Gérer les jetons d’inscription dans la barre d’action.

  2. Sur la page Gérer les jetons d’inscription, cliquez sur Générer pour créer un jeton d’inscription. Vous pouvez également choisir un jeton existant dont le statut est valide.

  3. Suivez l’assistant pour terminer les réglages.

  4. Téléchargez le jeton créé avec succès et enregistrez-le avec le moins de privilèges possible dans un emplacement sécurisé. Plus tard, lorsque vous exécuterez le script d’installation facile, la variable CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE vous permet de spécifier le chemin d’accès au fichier de jeton pour inscrire le VDA.

É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 : ajouter des certificats CA auto-signés

Enregistrez vos certificats CA auto-signés dans /etc/ssl/certs/ sur le Linux VDA, puis mettez-les à jour en exécutant les commandes suivantes en fonction de votre distribution Linux :

  • Pour RHEL, Rocky Linux et Amazon Linux 2 :

       sudo update-ca-trust
     <!--NeedCopy-->
    
  • Pour SUSE, Ubuntu et Debian :

       sudo update-ca-certificates
     <!--NeedCopy-->
    

Étape 5 : 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 6 : installer le package Linux VDA

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 disponibles à l’adresse 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 à 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 7 : installer les pilotes NVIDIA GRID

Pour activer HDX 3D Pro, vous devez installer les pilotes NVIDIA GRID sur votre hyperviseur et sur la machine 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 8 : spécifier la base de données à utiliser

Vous pouvez spécifier le système SQLite ou PostgreSQL à utiliser en modifiant /etc/xdl/db.conf après avoir installé le package Linux VDA.

Pour ce faire, modifiez /etc/xdl/db.conf avant d’exécuter sudo /opt/Citrix/VDA/sbin/ctxinstall.sh ou /opt/Citrix/VDA/bin/easyinstall.

Remarque

  • Nous vous recommandons d’utiliser SQLite uniquement pour le mode VDI.
  • 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.

Étape 9 : 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.

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’ – S’il faut joindre la machine à un domaine. La valeur par défaut est “n”. Pour les scénarios de non-appartenance à un domaine, définissez la variable sur « y ».

  • CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE=’<path-to-token-file-on-vda-machine>‘ — Pour créer un VDA non joint à un domaine en utilisant Easy Install, vous devez inscrire le VDA dans un catalogue de machines du Delivery Controller à l’aide d’un fichier de jetons. Enregistrez le jeton avec le moins de privilèges possible dans un emplacement sécurisé.

  • CTX_XDL_VDI_MODE=’Y|n’ — S’il faut configurer la machine en tant que modèle de mise à disposition de bureau dédié (VDI) ou modèle de mise à disposition de bureau partagé hébergé. Pour les environnements HDX 3D Pro, définissez cette valeur sur ‘y’.
  • CTX_XDL_HDX_3D_PRO=’y|n’ – Le Linux VDA prend en charge HDX 3D Pro, un ensemble de technologies d’accélération graphique conçues pour optimiser la virtualisation des applications graphiques riches. 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’ – Détermine si les services Linux VDA démarrent ou non une fois la configuration terminée.

  • CTX_XDL_REGISTER_SERVICE=’y|n’ – Les services Linux Virtual Desktop démarrent après le démarrage de la machine.

  • CTX_XDL_ADD_FIREWALL_RULES=’Y|n’ — Les services Linux VDA nécessitent 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/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 par défaut configuré sur le VDA est utilisé.

  • 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 par défaut configuré sur le VDA est utilisé. Vous pouvez spécifier un environnement de bureau à utiliser dans les session à l’aide de la variable CTX_XDL_DESKTOP_ENVIRONMENT. 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.

  • CTX_XDL_DOTNET_RUNTIME_PATH=’<path-to-install-dotnet-runtime>‘ — Le chemin d’installation de .NET pour la prise en charge du nouveau service d’agent broker (ctxvda). Le chemin d’accès par défaut est ‘/usr/bin’.

  • CTX_XDL_VDA_PORT=’<port-number>‘ — Le Linux VDA communique avec les composants Delivery Controller via un port TCP/IP.

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. Ensuite, exécutez ctxinstall.sh -S (notez que la lettre S est ici en majuscule). 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.

Si vous le définissez, la valeur exportée pour chaque variable remplace la valeur de /Citrix/VDA/sbin/ctxinstall.conf. Toutes les valeurs mises à jour sont enregistrées dans /Citrix/VDA/sbin/ctxinstall.conf.

  export CTX_XDL_NON_DOMAIN_JOINED='y'
  export CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE='<token-file-path>'
  export CTX_XDL_VDI_MODE='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_HDX_3D_PRO='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>'
  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 comme première ligne.

Vous pouvez également spécifier toutes les variables à l’aide d’une seule commande.

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

Étape 10 : exécuter XDPing

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

Étape 11 : 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 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 : Activer le mappage des comptes locaux

Que faire si le mappage des comptes locaux n’est pas activé ?

Les sessions hébergées sur des VDA non associés à un domaine échouent à l’ouverture. Une invite de mot de passe s’affiche mais le mot de passe correct n’est pas accepté. Des erreurs similaires aux suivantes peuvent se trouver dans le fichier hdx.log :

  2024-09-25 06:40:30.767979 [LOGIN_BOX:ERROR] <P124211:T58675:S4> citrix-ctxlogin: PamAuthenticate: pam authentication: Authentication failure.   Can retry for user 'user3'
  2024-09-25 06:40:30.768431 [LOGIN:ERROR] <P124211:T58675:S4> citrix-ctxlogin: LoginBoxValidate: Failed to validate user 'user3'.   Due to INVALID_PASSWORD
  2024-09-25 06:40:30.768947 [LOGIN_AUTH:INFO] <P124218:T58682:S4> citrix-ctxloginui: CalLabelFormat: Update username label on LoginUI from 'user3' to 'user3' (18)
  2024-09-25 06:41:18.766196 [GFX_SLIDER:ERROR] <P124161:T58699:S4> citrix-ctxgfx: GfxCreateSliderListener: Failed to get user home dir.
<!--NeedCopy-->

Activer le mappage des comptes locaux

Pour vous assurer que les utilisateurs peuvent se connecter à un VDA Linux non associé à un domaine, activez le mappage des comptes locaux en exécutant la commande suivante :

  Set-BrokerDesktopGroup -Name "<your delivery group name>" -MachineLogOnType LocalMappedAccount
<!--NeedCopy-->

Pour un déploiement sur site, exécutez la commande directement sur le composant Delivery Controller. Pour un déploiement Citrix DaaS, exécutez la commande via Citrix Virtual Apps et le SDK PowerShell Remote pour ordinateurs de bureau.