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

Tableau 1. Systèmes d'exploitation Linux pris en charge pour Horizon Agent
Distribution Linux Architecture
Ubuntu 18.04, 20.04 et 22.04 x64
Debian 10.13 et 11.5 x64
Red Hat Enterprise Linux (RHEL) Workstation 7.9, 8.4, 8.6, 8.7, 9.0 et 9.1 x64
Red Hat Enterprise Linux (RHEL) Server 7.9, 8.4, 8.6, 8.7, 9.0 et 9.1 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
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.

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.

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 8.0 ou version ultérieure
  • vSphere 7.0 ou version ultérieure
  • vSphere 6.7 ou version ultérieure
  • vSphere 6.5 U1 ou version ultérieure
Environnement VMware Horizon 8
  • Horizon Connection Server 2212
Logiciel Horizon Client
  • Horizon Client 2212 pour Android
  • Horizon Client 2212 pour Windows
  • Horizon Client 2212 pour Linux
  • Horizon Client 2212 pour Mac
  • Horizon Client 2212 pour iOS
  • HTML Access 2212 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 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, le pare-feu iptables est configuré par défaut avec la stratégie d'entrée d'ACCEPT.

Sur les distributions RHEL et CentOS, lorsque cela est 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 depuis 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 depuis le 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 VMware Horizon.

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 3. 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 autres environnements de poste de travail pris en charge par Horizon Agent for Linux.
Tableau 4. 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 Gnome Gnome Ubuntu, K Desktop Environment (KDE), MATE
Debian Gnome Gnome, KDE, MATE
RHEL 8.x/9.x Gnome Gnome
RHEL 7.9 Gnome Gnome, KDE, MATE
CentOS 7.9 Gnome Gnome, KDE
SLED/SLES Gnome Gnome
Note : 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 5. 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.rpm
    
    yum groupinstall -y "MATE Desktop"
    Ubuntu KDE
    apt install plasma-desktop
    Ubuntu MATE
    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 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 6. 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 9.x/8.x, afin que la session 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 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

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

Note : 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 Mise à niveau d'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 :

  1. Télécharger le code source VHCI USB depuis https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/.
  2. 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 VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxx.tar.gz sous le répertoire /install_tmp/, full-path_to_patch-file est /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx/resources/vhci/patch/vhci.patch.
    • (Programme d'installation RPM) Si vous téléchargez le programme d'installation RPM VMware-horizonagent-linux-YYMM-y.y.y-xxxxxx.el8.x86_64.rpm et l'utilisez pour installer Horizon Agent, full-path_to_patch-file est /usr/lib/vmware/viewagent/resources/vhci/patch/vhci.patch.
  3. 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-file dans les commandes par le chemin d'accès au fichier que vous avez identifié à l'étape précédente.
    Par exemple, si le chemin d'accès au fichier est /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx/resources/vhci/patch/vhci.patch, la commande patch devient :
    patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxxi/resources/vhci/patch/vhci.patch
Tableau 7. Compiler et installer le pilote VHCI USB
Distribution Linux Procédure de compilation et d'installation du pilote VHCI USB
Ubuntu
  1. Installez les modules de dépendance.
    apt-get install make
    apt-get install gcc
    apt-get install libelf-dev
  2. (Ubuntu 22.04) Installez les fichiers d'en-tête du noyau.
    sudo apt-get install linux-headers-$(uname -r)
  3. Compilez et installez le pilote 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
  4. 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.
    1. Créez une paire de clés SSL pour le pilote VHCI.
      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 VHCI.
      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.ko
      
      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-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.
Debian
  1. Installez les modules de dépendance.
    sudo  apt install -y  patch g++ make linux-headers-$(uname -r)
  2. Compilez et installez le pilote 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

RHEL/CentOS 7.x

RHEL 8.x/9.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 le pilote 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 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.
    1. Créez une paire de clés SSL pour le pilote VHCI.
      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 VHCI.
      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

  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 le pilote 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. Pour vous assurer que le pilote VHCI fonctionne correctement avec la redirection USB, configurez les paramètres de signature du pilote.
    1. Créez une paire de clés SSL pour le pilote VHCI.
      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 VHCI.
      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 d'accès au fichier de signature du pilote VHCI ressemble à l'exemple suivant.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. 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.
      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 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.
    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