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 VMware Horizon et la plate-forme vSphere.

Versions de Linux prises en charge pour Horizon Agent

Le tableau suivant répertorie les systèmes d'exploitation Linux pris en charge pour Horizon Agent.

Tableau 1. Systèmes d'exploitation Linux pris en charge pour Horizon Agent
Distribution Linux Architecture
Ubuntu 20.04 et 18.04 x64
Red Hat Enterprise Linux (RHEL) Workstation 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3 et 8.4 x64
Red Hat Enterprise Linux (RHEL) Server 7.8, 7.9, 8.2, 8.3 et 8.4 x64
CentOS 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3 et 8.4 x64
SUSE Linux Enterprise Desktop (SLED) 12 SP3, 15 SP1 et 15 SP2 x64
SUSE Linux Enterprise Server (SLES) 12 SP3, 12 SP5, 15 SP1 et 15 SP2 x64
Note : Horizon Agent dispose de modules de dépendance sur certaines distributions Linux. Pour plus d'informations, reportez-vous à 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.

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, l'Horizon Connection Server et le logiciel Horizon Client.

Tableau 2. Plate-forme et versions du logiciel VMware Horizon requises
Plate-forme et logiciel Versions prises en charge
Version de la plate-forme vSphere
  • vSphere 6.0 U2 ou version ultérieure
  • vSphere 6.5 U1 ou version ultérieure
  • vSphere 6.7 ou version ultérieure
Environnement Horizon
  • Horizon Connection Server 2106
Logiciel Horizon Client
  • Horizon Client 2106 pour Android
  • Horizon Client 2106 pour Windows
  • Horizon Client 2106 pour Linux
  • Horizon Client 2106 pour Mac
  • Horizon Client 2106 pour iOS
  • HTML Access 2106 sur Chrome et Firefox
  • Clients zéro qui supportent le protocole VMware Blast
    Note : Les clients zéro PCoIP Teradici ne sont pas pris en charge.

Ports TCP/UDP utilisés par des machines virtuelles Linux

Horizon 8 Agent et Horizon Client utilisent des ports TCP ou UDP pour l'accès réseau entre eux et divers composants d'Horizon 8 Server.

Tableau 3. Ports TCP/UDP utilisés par des machines virtuelles Linux
Source Port Cible Port Protocole Description
Horizon Client * Agent Linux 22443 TCP/UDP Blast si Blast Security Gateway est utilisé
Serveur de connexion Horizon 8 ou dispositif Unified Access Gateway * Agent Linux 22443 TCP/UDP Blast si Blast Security Gateway est utilisé
Agent Horizon 8 * Serveur de connexion Horizon 8 4001, 4002 TCP Trafic SSL de JMS
Note : Pour plus d'informations sur les ports TCP et UDP utilisés par les clients, consultez le document Sécurité d'Horizon et le Guide des ports réseau dans VMware Horizon.

Pour autoriser les utilisateurs à se connecter à leurs postes de travail Linux, ceux-ci doivent pouvoir accepter les connexions TCP entrantes depuis les périphériques Horizon Client, Unified Access Gateway et le Horizon Connection Server.

Sur les distributions Ubuntu, le pare-feu iptables est configuré par défaut avec la stratégie d'entrée d'ACCEPT.

Sur les distributions RHEL et CentOS, si possible, le script du programme d'installation d'Horizon Agent configure le pare-feu iptables avec la stratégie entrante ACCEPT.

Assurez-vous que iptables sur un système d'exploitation invité RHEL ou CentOS a une stratégie entrante ACCEPT pour les nouvelles connexions depuis le port Blast, 22443.

Lorsque BSG est activé, les connexions client sont dirigées depuis un périphérique Horizon Client via BSG sur le Horizon Connection Server vers le poste de travail Linux. Lorsque BSG n'est pas activé, les connexions sont établies directement depuis le périphérique Horizon Client vers le poste de travail Linux.

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.

Tableau 4. Nom et type de compte
Nom de compte Type de compte Utilisé par
racine Système d'exploitation Linux intégré Agent Java autonome, mksvchanserver, scripts shell
vmwblast Créé par le programme d'installation de l'agent Linux VMwareBlastServer
<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 les 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 environnements de poste de travail supplémentaires pris en charge par Horizon Agent for Linux.
Tableau 5. Environnements de postes de travail pris en charge
Distribution Linux Environnement de poste de travail par défaut Environnements de poste de travail pris en charge par Horizon Agent for Linux
Ubuntu 20.04/18.04 Gnome Gnome Ubuntu, K Desktop Environment (KDE), MATE
RHEL/CentOS 7.x Gnome Gnome, KDE
RHEL/CentOS 8.x Gnome Gnome
SLED/SLES Gnome Gnome
Note : Gnome Display Manager (GDM) est le seul gestionnaire d'affichage pris en charge sur les postes de travail Linux. Pour plus d'informations, reportez-vous à l' article 87459 de la base de connaissances.

Single Sign-On (SSO) pour les environnements de poste de travail KDE et MATE fonctionne uniquement lorsque votre poste de travail Linux utilise l'écran d'accueil GDM3 (l'écran de connexion). Vous devez installer KDE et MATE en utilisant les commandes répertoriées dans Commandes pour l'installation des environnements de poste de travail.

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.

  1. 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.
  2. Exécutez les commandes appropriées décrites dans le tableau suivant pour votre distribution Linux spécifique.
    Tableau 6. 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.x KDE
    # yum groupinstall "KDE Plasma Workspaces"
    Ubuntu 20.04/18.04 KDE
    # apt install plasma-desktop
    Ubuntu 20.04/18.04 MATE 1.225
    # apt install ubuntu-mate-desktop
  3. 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 20.04/18.04 et RHEL/CentOS 7.x, utilisez les informations dans le tableau suivant pour définir l'option SSODesktopType du fichier /etc/vmware/viewagent-custom.conf afin de spécifier l'environnement de poste de travail à utiliser avec SSO.
    Tableau 7. 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/CentOS 8.x, pour que la session d'authentification unique (SSO) utilise Gnome Classic, supprimez du répertoire /usr/share/xsession tous les fichiers de démarrage de poste de travail, à l'exception du fichier de démarrage de Gnome Classic. Utilisez l'ensemble de commandes suivant comme exemple.
    # 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 désactivez 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

VMware 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 VMware Blast Extreme utilise TCP ou UDP. Utilisez les étapes suivantes, qui utilisent Wireshark, comme exemple de référence.
  1. Téléchargez et installez Wireshark sur votre machine virtuelle Linux.
    Pour RHEL/CentOS :
    sudo yum install wireshark
    Pour Ubuntu :
    sudo apt install tshark
  2. Connectez-vous au poste de travail Linux à l'aide de VMware Horizon Client.
  3. Ouvrez une fenêtre de terminal et exécutez la commande suivante, qui affiche le module TCP ou UDP utilisé par VMware 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

La fonctionnalité de redirection USB a une dépendance sur le pilote de noyau VHCI (Virtual Host Controller Interface) USB. Pour prendre en charge la norme USB 3.0 et la fonctionnalité de redirection USB, vous devez effectuer les étapes suivantes :

  1. Télécharger le code source VHCI USB depuis https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/.
  2. 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.
    Par exemple, si vous décompressez le fichier d'installation VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx.tar.gz sous le répertoire /install_tmp/, le full-path_to_patch-file est /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx/resources/vhci/patch/vhci.patch et la commande patch à utiliser est
    # patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxxi/resources/vhci/patch/vhci.patch
Note : L'installation du pilote VHCI doit être effectuée avant l'installation d' Horizon 8 for Linux.
Tableau 8. Compiler et installer le pilote VHCI USB
Distribution Linux Procédure de compilation et d'installation du pilote VHCI USB
Ubuntu 20.04/18.04
  1. Installez les modules de dépendance.
    # apt-get install make
    # apt-get install gcc
    # apt-get install libelf-dev
  2. Compilez et installez les pilotes VHCI.
    # tar -xzvf vhci-hcd-1.15.tar.gz
    # cd vhci-hcd-1.15
    # patch -p1 < full-path_to_patch-file
    # make clean && make && make install

RHEL/CentOS 7.x

RHEL/CentOS 8.x

  1. Installez les modules de dépendance.
    # yum install gcc-c++
    # yum install kernel-devel-$(uname -r)
    # yum install kernel-headers-$(uname -r)
    # yum install patch
    # yum install elfutils-libelf-devel
  2. Compilez et installez les pilotes VHCI.
    # tar -xzvf vhci-hcd-1.15.tar.gz
    # cd vhci-hcd-1.15
    # patch -p1 < full-path_to_patch-file
    # make clean && make && make install
  3. (RHEL/CentOS 8.x) Pour vous assurer que les pilotes VHCI fonctionnent correctement avec la redirection USB, configurez des paramètres de signature pour le pilote USB.
    1. Créez une paire de clés SSL pour le pilote USB.
      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
    2. Signez le pilote USB.
      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.ko
      sudo /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
    3. Enregistrez la clé pour le démarrage sécurisé UEFI.
      sudo mokutil --import MOK.der
      Note : 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.
    4. 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 https://sourceware.org/systemtap/wiki/SecureBoot.

SLED/SLES 12.x

SLED/SLES 15.x

  1. Recherchez la version du module de noyau actuel.
    # rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    Le résultat est le nom du module de noyau actuellement installé. Si, par exemple, le nom du module est kernel-default-3.0.101-63.1, la version actuelle du module de noyau est 3.0.101-63.1.

  2. Installez les modules kernel-devel, kernel-default-devel, kernel-macros et patch.
    # zypper install --oldpackage kernel-devel-<kernel-package-version> \
    kernel-default-devel-<kernel-package-version> kernel-macros-<kernel-package-version> patch
    Par exemple :
    # 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
  3. Compilez et installez les pilotes VHCI.
    # tar -xzvf vhci-hcd-1.15.tar.gz
    # cd 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 && make install
  4. (SLED/SLES 15.x) Pour vous assurer que les pilotes VHCI fonctionnent correctement avec la redirection USB, configurez des paramètres de signature pour le pilote USB.
    1. Créez une paire de clés SSL pour le pilote USB.
      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
    2. Recherchez le chemin d'accès au fichier de signature pour le pilote USB.
      find / -name sign-file

      Cette commande renvoie les chemins d'accès à tous les fichiers de signature situés sur le système. Le chemin du fichier de signature pour le pilote USB ressemble à l'exemple suivant.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. Signez le pilote USB. 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.
      # sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-iocifc.ko
      # sudo /<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
    4. Enregistrez la clé pour le démarrage sécurisé UEFI.
      # sudo mokutil --import MOK.der
      Note : 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.
    5. 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 https://sourceware.org/systemtap/wiki/SecureBoot.

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 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.
    1. Installez les en-têtes du noyau.
      # apt install linux-headers-`uname -r`
    2. Installez la dkms à l'aide de la commande suivante.
      # apt install dkms
    3. 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 ..
    4. Copiez les fichiers source VHCI extraits vers le répertoire /usr/src.
      # cp -r vhci-hcd-1.15 /usr/src/usb-vhci-hcd-1.15
    5. Créez un fichier nommé dkms.conf, puis placez-le dans le répertoire /usr/src/usb-vhci-hcd-1.15.
      # touch /usr/src/usb-vhci-hcd-1.15/dkms.conf
    6. 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"
    7. Ajoutez ce pilote VHCI dans dkms.
      # dkms add usb-vhci-hcd/1.15
    8. Générez le pilote VHCI.
      # dkms build usb-vhci-hcd/1.15
    9. Installez le pilote VHCI.
      # dkms install usb-vhci-hcd/1.15