ℹ️ À savoir · En bref

Le Linux VDA publie des bureaux et applications Linux dans Citrix comme un VDA Windows : même console, mêmes catalogues, même Workspace app.

La difficulté n'est pas Citrix mais l'intégration Linux / Active Directory : DNS, Kerberos, heure et jonction au domaine doivent être parfaits.

Objectifs de la fiche

  • Connaître les distributions et méthodes d'intégration AD prises en charge.
  • Installer et configurer un Linux VDA.
  • Préparer une image Linux pour MCS.
  • Dépanner l'enregistrement et l'ouverture de session.

Architecture et prérequis

Le service ctxvda s'enregistre auprès des connecteurs ; ctxhdx porte les sessions ; l'intégration AD fournit Kerberos
Le service ctxvda s'enregistre auprès des connecteurs ; ctxhdx porte les sessions ; l'intégration AD fournit Kerberos
ÉlémentVersion 2603 / 2607 LTSR
DistributionsUbuntu 22.04 et 24.04 ; RHEL et Rocky 8.10, 9.x, 10 ; SUSE 15.7 ; Debian 12 et 13
Intégration ADSSSD et winbind (toutes distributions), Centrify, Quest ; PBIS sur certaines seulement
PrérequisASP.NET Core Runtime 10 installé avant le VDA, un environnement de bureau (GNOME, MATE, KDE…)
PlateformesvSphere, Azure, AWS, GCP, XenServer, Nutanix, Hyper-V, physique
ModeBureau partagé (multisession) ou VDI (une session par machine)

⚠️ Piège

Sur Ubuntu, n'utilise pas le noyau ou le Xorg HWE ; reste sur une distribution et une version listées, sinon le support Citrix refusera le dossier.

Installer un VDA (machine unique)

installation

# Ubuntu : paquet puis dépendances
sudo dpkg -i xendesktopvda_*.deb ; sudo apt-get install -f -y

# Configuration interactive ou par variables (exemple non interactif)
export CTX_XDL_DDC_LIST='cc1.corp.local cc2.corp.local'
export CTX_XDL_VDI_MODE='N'                 # N = bureau partagé, Y = VDI
export CTX_XDL_DESKTOP_ENVIRONMENT='gnome'
export CTX_XDL_START_SERVICE='Y'
sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh --silent

# Alternative : assistant "easy install" (dépendances + jonction AD + configuration)
sudo /opt/Citrix/VDA/sbin/ctxinstall.sh

Intégration Active Directory

MéthodeRemarques
SSSDStandard actuel sur RHEL / Rocky / Ubuntu ; jonction avec realm join ou adcli
Winbind (Samba)Très répandu, nécessaire pour certains scénarios (partages, fichiers Samba)
Centrify / QuestSolutions commerciales, gestion centralisée par GPO
PBISNon pris en charge sur RHEL 9 / 10 et Rocky 9 / 10 : à éviter pour un nouveau projet

💡 Astuce

Vérifie dans l'ordre : heure (chrony vers les DC), DNS (résolution directe et inverse des contrôleurs et du VDA), kinit utilisateur@CORP.LOCAL, klist, puis id utilisateur.

Une zone DNS parasite (zone de recherche ou domaine homonyme) peut détourner la recherche du KDC : contrôle dig _kerberos._tcp.corp.local SRV.

MCS pour Linux

Le principe est celui de CTX-05, mais la jonction au domaine se fait sur chaque VM créée, à partir de mcs.conf et de modèles de configuration AD.

préparer l'image

# /etc/xdl/mcs/mcs.conf (extrait)
AD_INTEGRATION=sssd                     # winbind | sssd | centrify | pbis
WORKGROUP=CORP                          # nom NetBIOS (casse respectée)
dns1=10.0.0.10
dns2=10.0.0.11
NTP_SERVER=10.0.0.10
VDI_MODE=N
Use_AD_Configuration_Files_Of_Current_VDA=N   # Y : reprendre la config AD du VDA courant

# Appliquer la configuration MCS à l'image
sudo /opt/Citrix/VDA/sbin/deploymcs.sh
RèglePourquoi
Image non jointe au domaine (sauf si l'on reprend volontairement la config du VDA courant)Chaque VM rejoint le domaine elle-même au premier démarrage
Modèles AD dans /etc/xdl/ad_join/Adapter sssd.conf.tmpl, krb5 et smb à ton domaine en gardant les variables ($REALM, $WORKGROUP)
Valeurs de registre persistantesDans /etc/xdl/mcs/mcs_local_setting.reg
Mise à jourMettre à jour le paquet sur l'image, ajuster mcs.conf, nouveau snapshot, mettre à jour le catalogue

Dépanner

commandes utiles

systemctl status ctxvda ctxhdx                         # services Citrix
sudo /opt/Citrix/VDA/bin/xdping                        # contrôle de l'environnement (DNS, Kerberos, ports…)
sudo /opt/Citrix/VDA/bin/ctxreg list -k "HKLM\Software\Citrix\VirtualDesktopAgent"   # liste des contrôleurs…
ls /var/log/xdl/                                       # journaux du VDA (vda.log, hdx.log…)
sudo /opt/Citrix/VDA/bin/xdlcollect.sh                 # collecte pour le support
SymptômeCause probableParade
VDA non enregistréHeure, DNS inverse, Kerberos, liste des contrôleursxdping, klist -k (keytab), chrony, liste des DDC
Machines MCS non jointesImage déjà jointe, mcs.conf incohérent, modèles AD non adaptésImage propre, revoir mcs.conf et /etc/xdl/ad_join/, refaire le snapshot
Échec Kerberos aléatoireZone DNS parasite, KDC injoignableVérifier les enregistrements SRV et la recherche DNS
Écran noir ou session ferméeBureau non pris en charge, Wayland, profil utilisateurBureau listé (Xorg), journaux hdx, créer un utilisateur de test
Session refuséeParamètre de sécurité HDX non pris en charge par le Linux VDAComparer les stratégies appliquées aux fonctions documentées du Linux VDA

🔷 En contexte Citrix

Pour un catalogue Ubuntu MCS : image propre non jointe, mcs.conf relu ligne par ligne, DNS sans zone parasite. Ce sont les trois causes typiques des échecs de jonction et d'enregistrement.

Teste avec un catalogue de recette d'une machine avant de déployer : un cycle MCS Linux est rapide à refaire, une production cassée beaucoup moins.

À retenir

  • Même console et même client que Windows ; l'effort est sur Linux + AD.
  • SSSD ou winbind ; heure, DNS et Kerberos d'abord.
  • MCS : image non jointe, mcs.conf + deploymcs.sh, jonction par VM.
  • Distributions et bureaux listés uniquement (pas de HWE sur Ubuntu).
  • xdping, journaux /var/log/xdl/ et xdlcollect.sh pour dépanner.

Auto-évaluation

Q1. Pourquoi l'image MCS Linux ne doit-elle pas être jointe au domaine ?

→ Chaque VM rejoint le domaine au premier démarrage avec sa propre identité, à partir de mcs.conf et des modèles AD ; une image déjà jointe produit des identités incohérentes.

Q2. Quelles vérifications avant d'accuser Citrix quand un Linux VDA ne s'enregistre pas ?

→ Heure synchronisée, DNS direct et inverse, kinit / klist (keytab), puis xdping et la liste des contrôleurs.

Q3. Où se configure la méthode d'intégration AD pour MCS ?

→ Dans /etc/xdl/mcs/mcs.conf, variable AD_INTEGRATION (sssd, winbind, centrify, pbis).

Q4. Que faut-il installer avant le paquet Linux VDA en 2603 ?

→ ASP.NET Core Runtime 10 (et un environnement de bureau).

Pour aller plus loin