Pour installer Horizon Agent for Linux, vous devez respecter certaines exigences pour le système d'exploitation Linux, la machine virtuelle Linux, les composants du système Horizon 8 et la plate-forme vSphere.
Distributions Linux prises en charge pour Horizon Agent
Le tableau suivant répertorie les systèmes d'exploitation Linux testés et pris en charge pour Horizon Agent.
| Distribution Linux | Architecture |
|---|---|
| Ubuntu 20.04 et 22.04 | x64 |
| Debian 10.13, 11.5, 11.6. et 11.7 | x64 |
| Red Hat Enterprise Linux (RHEL) Workstation 7.9, 8.6, 8.7, 8.8, 9.0, 9.1 et 9.2 | x64 |
| Red Hat Enterprise Linux (RHEL) Server 7.9, 8.6, 8.7, 8.8, 9.0, 9.1 et 9.2 | x64 |
| Rocky Linux 8.8 et 9.2 | x64 |
| CentOS 7.9 | x64 |
| SUSE Linux Enterprise Desktop (SLED) 15 SP3 et 15 SP4 | x64 |
| SUSE Linux Enterprise Server (SLES) 15 SP3 et 15 SP4 | x64 |
Remarque : Horizon Agent dispose de modules de dépendance sur certaines distributions Linux. Pour plus d'informations, reportez-vous à la section Installer des modules de dépendance pour Horizon Agent.
Certaines fonctionnalités sont prises en charge sur un sous-ensemble limité de systèmes d'exploitation Linux. Pour plus d'informations, reportez-vous à la section de ce document qui traite de la fonctionnalité spécifique.
Le script d'installation install_viewagent.sh fournit un paramètre --force qui force l'installation d'Horizon Agent sur les distributions Linux non répertoriées dans la matrice de prise en charge de test. Reportez-vous à la section Options de ligne de commande pour l'installation d'Horizon Agent for Linux.
Plates-formes et versions du logiciel requises
Pour installer et utiliser Horizon Agent for Linux, votre déploiement doit répondre à certaines exigences pour la plate-forme vSphere, Horizon Connection Server et le logiciel Horizon Client.
| Plate-forme et logiciel | Versions prises en charge |
|---|---|
| Version de la plate-forme vSphere |
|
| Environnement Horizon 8 |
|
| Logiciel Horizon Client |
|
Ports utilisés par les postes de travail Linux
Pour activer les sessions de connexion, les postes de travail Linux doivent prendre en charge les connexions TCP entrantes à partir de périphériques Horizon Client, Unified Access Gateway et Horizon Connection Server.
Sur les distributions Ubuntu et Debian, le pare-feu iptables est configuré par défaut avec la stratégie entrante ACCEPT.
Sur les distributions RHEL, Rocky Linux et CentOS, si possible, le script du programme d'installation d'Horizon Agent configure le pare-feu iptables avec la stratégie entrante ACCEPT. Pour garantir la prise en charge des connexions entrantes, vérifiez que la stratégie d'entrée iptables est ACCEPT pour les nouvelles connexions via le port Blast 22443.
Lorsque vous activez Blast Secure Gateway (BSG), les connexions clientes sont dirigées à partir d'un périphérique Horizon Client via BSG sur Horizon Connection Server vers le poste de travail Linux. Lorsque vous n'activez pas BSG, les connexions sont établies directement à partir du périphérique Horizon Client vers le poste de travail Linux.
Pour plus d'informations sur les ports utilisés par Horizon Agent sur les postes de travail Linux, reportez-vous au document Sécurité d'Horizon et au Guide des ports réseau dans Horizon 8.
Vérifier le compte Linux utilisé par des machines virtuelles Linux
Le tableau suivant répertorie le nom et le type de compte utilisé par les machines virtuelles Linux.
| Nom de compte | Type de compte | Utilisé par |
|---|---|---|
| racine | Système d'exploitation Linux intégré | Agent Java autonome, mksvchanserver, scripts shell |
| <utilisateur connecté actuel> | Système d'exploitation Linux intégré ou utilisateur AD ou utilisateur LDAP | Script python |
Environnement de poste de travail
Horizon Agent for Linux prend en charge plusieurs environnements de poste de travail sur différentes distributions Linux. Le tableau suivant répertorie les environnements de poste de travail par défaut pour chaque distribution Linux, ainsi que les autres environnements de poste de travail pris en charge par Horizon Agent for Linux.
| Distribution Linux | Environnement de poste de travail par défaut | Environnements de poste de travail pris en charge par Horizon Agent for Linux |
|---|---|---|
| Ubuntu | Gnome | Gnome Ubuntu, K Desktop Environment (KDE), MATE |
| Debian | Gnome | Gnome, KDE, MATE |
| RHEL et Rocky Linux 8.x/9.x | Gnome | Gnome |
| RHEL 7.9 | Gnome | Gnome, KDE, MATE |
| CentOS 7.9 | Gnome | Gnome, KDE |
| SLED/SLES | Gnome | Gnome |
Remarque : lorsque vous utilisez les distributions RHEL/CentOS 7.x et Ubuntu, SSO ne parvient pas à déverrouiller une session KDE verrouillée. Vous devez alors entrer manuellement votre mot de passe pour déverrouiller la session verrouillée.
Pour modifier l'environnement de poste de travail par défaut utilisé sur l'une des distributions Linux prises en charge, vous devez respecter les étapes suivantes et utiliser les commandes adaptées à votre poste de travail Linux.
-
Installez le système d'exploitation de la distribution Linux pris en charge avec le paramètre d'environnement de poste de travail par défaut.
-
Exécutez les commandes appropriées décrites dans le tableau suivant pour votre distribution Linux spécifique.
Commandes pour l'installation des environnements de poste de travail Distribution Linux Nouvel environnement de poste de travail par défaut Commandes pour modifier l'environnement de poste de travail par défaut RHEL/CentOS 7.9 KDE yum groupinstall "KDE Plasma Workspaces"RHEL 7.9 MATE rpm -ivh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpmyum groupinstall -y "MATE Desktop"Ubuntu KDE apt install plasma-desktopUbuntu MATE apt install ubuntu-mate-desktop- Pour commencer à utiliser le nouvel environnement de poste de travail par défaut, redémarrez le poste de travail.
Si vous avez activé l'authentification unique (SSO) sur un poste de travail Linux où plusieurs environnements de poste de travail sont installés, utilisez les informations suivantes pour sélectionner l'environnement de poste de travail à utiliser dans une session SSO.
-
Pour Ubuntu et RHEL/CentOS 7.x, utilisez les informations dans le tableau suivant pour définir l'option SSODesktopType du fichier
viewagent-custom.confafin de spécifier l'environnement de poste de travail à utiliser avec SSO.Option SSODesktopType Type de poste de travail Paramètre de l'option SSODesktopType MATE SSODesktopType=UseMATE GnomeUbuntu SSODesktopType=UseGnomeUbuntu GnomeFlashback SSODesktopType=UseGnomeFlashback KDE SSODesktopType=UseKdePlasma GnomeClassic SSODesktopType=UseGnomeClassic -
Pour RHEL et Rocky Linux 9.x/8.x, afin que la session de connexion SSO utilise Gnome Classic, supprimez du répertoire
/usr/share/xsessiontous les fichiers de démarrage de poste de travail, à l'exception du fichier de démarrage de Gnome Classic. Par exemple, exécutez l'ensemble de commandes suivant en tant qu'utilisateur racine :cd /usr/share/xsessions mkdir backup mv *.desktop backup mv backup/gnome-classic.desktop ./Après la configuration initiale, l'utilisateur final doit se déconnecter ou redémarrer son poste de travail Linux pour utiliser Gnome Classic comme poste de travail par défaut lors de sa prochaine session d'authentification unique (SSO).
Si vous avez désactivé l'authentification unique (SSO) sur un poste de travail Linux sur lequel plusieurs environnements de poste de travail sont installés, vous n'avez pas besoin d'effectuer la procédure décrite précédemment. Les utilisateurs finaux doivent sélectionner l'environnement de poste de travail de leur choix lorsqu'ils se connectent à ce poste de travail Linux.
Conditions requises pour le réseau
Horizon Blast Extreme prend en charge les protocoles UDP (User Datagram Protocol) et TCP (Transmission Control Protocol). Les conditions du réseau affectent les performances des protocoles UDP et TCP. Pour bénéficier d'une expérience utilisateur optimale, sélectionnez UDP ou TCP en fonction de la condition de réseau.
- Sélectionnez TCP si la condition du réseau est correcte, par exemple, s'il s'agit d'un environnement de réseau local (LAN).
- Sélectionnez UDP si la condition du réseau est faible, par exemple, s'il s'agit d'un environnement de réseau étendu (WAN) avec une perte de paquets et un délai de transmission.
Utilisez un analyseur de réseau, tel que Wireshark, pour déterminer si Horizon Blast Extreme utilise le protocole TCP ou UDP. Utilisez les étapes suivantes, qui utilisent Wireshark, comme exemple de référence.
-
Téléchargez et installez Wireshark sur votre machine virtuelle Linux.
Pour RHEL/CentOS et Rocky Linux :
sudo yum install wiresharkPour Ubuntu :
sudo apt install tshark -
Connectez-vous au poste de travail Linux à l'aide d'Horizon Client.
-
Ouvrez une fenêtre de terminal et exécutez la commande suivante, qui affiche le module TCP ou UDP utilisé par Horizon Blast Extreme.
sudo tshark -i any | grep 22443
Les fonctionnalités de redirection USB et de redirection du lecteur client sont sensibles aux conditions du réseau. Si la condition de réseau n'est pas correcte, par exemple, s'il s'agit d'une bande passante limitée avec des pertes de paquets et un délai de transmission, l'expérience client est fortement dégradée. Dans ces conditions, l'utilisateur final peut rencontrer l'un des problèmes suivants.
- La copie de fichiers distants peut être lente. Dans ce cas, optez plutôt pour une réduction de la taille des fichiers transmis.
- Le périphérique USB ne s'affiche pas dans le poste de travail Linux distant.
- Les données USB ne sont pas complètement transférées. Par exemple, si vous copiez un fichier volumineux, vous pouvez obtenir un fichier de taille inférieure à celle du fichier d'origine.
Pilote VHCI pour la redirection USB
Remarque : pour déterminer la séquence d'installation correcte pour le pilote VHCI, suivez les directives suivantes :
- Si vous avez l'intention d'installer Horizon Agent à l'aide du programme d'installation tarball
.tar.gz, vous devez d'abord télécharger et décompresser le programme d'installation tarball, installer le pilote VHCI, puis installer Horizon Agent avec le paramètre d'installation pour la fonctionnalité de redirection USB. - Si vous avez l'intention d'installer Horizon Agent à l'aide du programme d'installation RPM
.rpm, vous devez d'abord installer Horizon Agent, installer le pilote VHCI, puis ajouter la fonctionnalité de redirection USB à la configuration Horizon Agent.
Pour plus d'informations, reportez-vous à la section Installer Horizon Agent sur une machine virtuelle Linux.
La fonctionnalité de redirection USB a une dépendance sur le pilote de noyau VHCI (Virtual Host Controller Interface) USB. Pour prendre en charge USB 3.0 et la fonctionnalité de redirection USB, vous devez installer le pilote VHCI en procédant comme suit :
- Téléchargez le code source VHCI USB à partir de https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/.
- Identifiez le chemin d'accès complet au fichier de correctif VHCI, en fonction du format du programme d'installation d'Horizon Agent. Pour obtenir des instructions, reportez-vous aux exemples suivants.
- (Programme d'installation Tarball) Si vous téléchargez et décompressez le programme d'installation Tarball sous le répertoire.
- (Programme d'installation RPM) Si vous téléchargez le programme d'installation RPM et l'utilisez pour installer Horizon Agent.
- Pour compiler le code source du pilote VHCI et installer le fichier binaire résultant sur votre système Linux, utilisez les commandes répertoriées dans le tableau suivant. Remplacez
full-path_to_patch-filedans les commandes par le chemin d'accès au fichier que vous avez identifié à l'étape précédente.
Compiler et installer le pilote VHCI USB Distribution Linux Procédure de compilation et d'installation du pilote VHCI USB Ubuntu - Installez les modules de dépendance.
<pre><code>sudo apt-get install makesudo apt-get install gcc sudo apt-get install libelf-dev
- (Ubuntu 22.04) Installez les fichiers d'en-tête du noyau.
<pre><code>sudo apt-get install linux-headers-$(uname -r)</code></pre></li> - Compilez et installez le pilote VHCI.
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd vhci-hcd-1.15 patch -p1 < full-path_to_patch-file make clean && make && sudo make install
- Si vous avez activé l'interface EFI (Extensible Firmware Interface) et le démarrage sécurisé UEFI sur la machine virtuelle, configurez les paramètres de signature pour le pilote VHCI.
<ol> <li>Créez une paire de clés SSL pour le pilote VHCI. <pre><code>openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" -addext extendedKeyUsage=1.3.6.1.5.5.7.3.3</code></pre> </li> <li>Signez le pilote VHCI. <pre><code>sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-iocifc.kosudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-hcd.ko
- Enregistrez la clé pour le démarrage sécurisé UEFI.
<pre><code>sudo mokutil --import MOK.der</code></pre> <strong>Remarque :</strong> cette commande émet une demande de définition d'un mot de passe de clé propriétaire de machine (MOK) pour le démarrage sécurisé UEFI. </li> <li>Pour configurer le démarrage sécurisé UEFI dans la console vSphere, redémarrez le système. Pour plus d'informations, reportez-vous à la section <a href="https://sourceware.org/systemtap/wiki/SecureBoot">https://sourceware.org/systemtap/wiki/SecureBoot</a>. </li> </ol></li>
Debian - Installez les modules de dépendance.
<pre><code>sudo apt install -y patch g++ make linux-headers-$(uname -r)</code></pre></li> - Compilez et installez le pilote VHCI.
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd vhci-hcd-1.15 patch -p1 < full-path_to_patch-file mkdir -p linux/$(echo $(uname -r) | cut -d '-' -f 1)/drivers/usb/core cp /lib/modules/$(uname -r)/source/include/linux/usb/hcd.h linux/$(echo $(uname -r) | cut -d '-' -f 1)/drivers/usb/core
make clean && make && sudo make install
RHEL/CentOS 7.x RHEL 8.x/9.x Rocky Linux 8.x/9.x - Installez les modules de dépendance.
<pre><code>sudo yum install gcc-c++sudo yum install kernel-devel-$(uname -r) sudo yum install kernel-headers-$(uname -r) sudo yum install patch sudo yum install elfutils-libelf-devel
- Compilez et installez le pilote VHCI.
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd vhci-hcd-1.15 patch -p1 < full-path_to_patch-file make clean && make && sudo make install
- (RHEL et Rocky Linux 9.x/8.x) Pour vous assurer que le pilote VHCI fonctionne correctement avec la redirection USB, configurez les paramètres de signature du pilote.
<ol> <li>Créez une paire de clés SSL pour le pilote VHCI. <pre><code>openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" -addext extendedKeyUsage=1.3.6.1.5.5.7.3.3</code></pre> </li> <li>Signez le pilote VHCI. <pre><code>sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-iocifc.kosudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-hcd.ko
- Enregistrez la clé pour le démarrage sécurisé UEFI.
<pre><code>sudo mokutil --import MOK.der</code></pre> <strong>Remarque :</strong> cette commande émet une demande de définition d'un mot de passe de clé propriétaire de machine (MOK) pour le démarrage sécurisé UEFI. </li> <li>Pour configurer le démarrage sécurisé UEFI dans la console vSphere, redémarrez le système. Pour plus d'informations, reportez-vous à la section <a href="https://sourceware.org/systemtap/wiki/SecureBoot">https://sourceware.org/systemtap/wiki/SecureBoot</a>. </li> </ol></li>
SLED/SLES - Recherchez la version du module de noyau actuel.
<pre><code>rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)</code></pre> Le résultat est le nom du module de noyau actuellement installé. Si, par exemple, le nom du module est <code>kernel-default-3.0.101-63.1</code>, la version actuelle du module de noyau est 3.0.101-63.1.</li> - Installez les modules
kernel-devel,kernel-default-devel,kernel-macrosetpatch.<pre><code>sudo zypper install --oldpackage kernel-devel-<em><kernel-package-version></em> \kernel-default-devel-<kernel-package-version> kernel-macros-<kernel-package-version> patch Par exemple :
sudo zypper install --oldpackage kernel-devel-4.4.21-90.1 kernel-default-devel-4.4.21-90.1 kernel-macros-4.4.21-90.1 patch - Compilez et installez le pilote VHCI.
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd vhci-hcd-1.15 patch -p1 < full-path_to_patch-file mkdir -p linux/$(echo $(uname -r) | cut -d '-' -f 1)/drivers/usb/core cp /lib/modules/$(uname -r)/source/include/linux/usb/hcd.h linux/$(echo $(uname -r) | cut -d '-' -f 1)/drivers/usb/core make clean && make && sudo make install
- Pour vous assurer que le pilote VHCI fonctionne correctement avec la redirection USB, configurez les paramètres de signature du pilote.
<ol> <li>Créez une paire de clés SSL pour le pilote VHCI. <pre><code>openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" -addext extendedKeyUsage=1.3.6.1.5.5.7.3.3</code></pre> </li> <li>Recherchez le chemin d'accès au fichier de signature pour le pilote VHCI. <pre><code>sudo find / -name sign-file</code></pre> Cette commande renvoie les chemins d'accès à tous les fichiers de signature situés sur le système. Le chemin d'accès au fichier de signature du pilote VHCI ressemble à l'exemple suivant. <pre><code>/usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/</code></pre> </li> <li>Signez le pilote VHCI. Dans les commandes suivantes, <sign-file-path> est le chemin d'accès au fichier de signature que vous avez trouvé précédemment à l'étape 4b. <pre><code>sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-iocifc.kosudo /<sign-file-path>/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-hcd.ko
- Enregistrez la clé pour le démarrage sécurisé UEFI.
<pre><code>sudo mokutil --import MOK.der</code></pre> <strong>Remarque :</strong> cette commande émet une demande de définition d'un mot de passe de clé propriétaire de machine (MOK) pour le démarrage sécurisé UEFI. </li> <li>Pour configurer le démarrage sécurisé UEFI dans la console vSphere, redémarrez le système. Pour plus d'informations, reportez-vous à la section <a href="https://sourceware.org/systemtap/wiki/SecureBoot">https://sourceware.org/systemtap/wiki/SecureBoot</a>. </li> </ol></li>
En outre, suivez ces directives :
- Si la version du noyau Linux est modifiée, vous devez recompiler et réinstaller le pilote VHCI, mais vous n'avez pas à réinstaller Horizon Agent for Linux.
- Vous pouvez aussi ajouter une prise en charge de module de noyau dynamique (DKMS) au pilote VHCI en suivant les mêmes étapes que celles de l'exemple suivant, consacré à un système Ubuntu.
-
Installez les en-têtes du noyau.
sudo apt install linux-headers-`uname -r` -
Installez
dkmsà l'aide de la commande suivante.sudo apt install dkms -
Procédez à l'extraction et à la correction du fichier TAR VHCI.
tar xzvf vhci-hcd-1.15.tar.gz cd vhci-hcd-1.15 patch -p1 *<full-path_to_patch-file>* cd .. -
Copiez les fichiers source VHCI extraits vers le répertoire
/usr/src.sudo cp -r vhci-hcd-1.15 /usr/src/usb-vhci-hcd-1.15 -
Créez un fichier nommé
dkms.conf, puis placez-le dans le répertoire/usr/src/usb-vhci-hcd-1.15.sudo touch /usr/src/usb-vhci-hcd-1.15/dkms.conf -
Ajoutez les contenus suivants au fichier
dkms.conf.PACKAGE_NAME="usb-vhci-hcd" PACKAGE_VERSION=1.15 MAKE_CMD_TMPL="make KVERSION=$kernelver" CLEAN="$MAKE_CMD_TMPL clean" BUILT_MODULE_NAME[0]="usb-vhci-iocifc" DEST_MODULE_LOCATION[0]="/kernel/drivers/usb/host" MAKE[0]="$MAKE_CMD_TMPL" BUILT_MODULE_NAME[1]="usb-vhci-hcd" DEST_MODULE_LOCATION[1]="/kernel/drivers/usb/host" MAKE[1]="$MAKE_CMD_TMPL" AUTOINSTALL="YES" -
Ajoutez ce pilote VHCI dans
dkms.sudo dkms add usb-vhci-hcd/1.15 -
Générez le pilote VHCI.
sudo dkms build usb-vhci-hcd/1.15 -
Installez le pilote VHCI.
sudo dkms install usb-vhci-hcd/1.15
-
Cette page vous a-t-elle été utile ?