Pour installer Horizon 7 for Linux, votre système Linux doit répondre à certaines exigences pour le système d'exploitation, Horizon 7 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 16.04, 18.04 et 20.04
Note : Ubuntu 16.04 n'est pas pris en charge pour Horizon Agent 7.13.1 et versions ultérieures.
Note : Vous devez appliquer l'une des solutions décrites dans l'article de la base de connaissances de VMware http://kb.vmware.com/kb/2151294.
x64

Red Hat Enterprise Linux (RHEL) Workstation 6.6, 6.7, 6.8, 6.9, 6.10, 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

Note : Les conditions requises suivantes s'appliquent.
  • Pour prendre en charge RHEL Workstation 7.9, vous devez installer Horizon Agent 7.13.1 ou version ultérieure.
  • Pour prendre en charge RHEL Workstation 8.3/8.4, vous devez installer Horizon Agent 7.13.2 ou version ultérieure.
x64

CentOS 6.6, 6.7, 6.8, 6.9, 6.10, 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

Note : Les conditions requises suivantes s'appliquent.
  • Pour prendre en charge CentOS 7.9, vous devez installer Horizon Agent 7.13.1 ou version ultérieure.
  • CentOS 8.x n'est pas pris en charge pour Horizon Agent 7.13.2 et versions ultérieures.
x64
NeoKylin 6 Update 1 x64
SLED 12.x SP1/SP2/SP3 x64
SLES 12.x SP1/SP2/SP3/SP5 x64
Note : L'agent Linux 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.
Note : Sur les systèmes RHEL/CentOS 8.x, Horizon Agent ne prend en charge que le protocole de serveur d'affichage X11. Le protocole Wayland n'est pas pris en charge.

Plate-forme et versions du logiciel Horizon 7 requises

Pour installer et utiliser Horizon 7 for Linux, votre déploiement doit répondre à certaines exigences pour la plate-forme vSphere, Horizon 7 et le logiciel Horizon Client.

Tableau 2. Plate-forme et versions du logiciel Horizon 7 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 7.13
Logiciel Horizon Client
  • Horizon Client 5.5.0 pour Android
  • Horizon Client 5.5.0 pour Windows
  • Horizon Client 5.5.0 pour Linux
  • Horizon Client 5.5.0 pour Mac OS X
  • Horizon Client 5.5.0 pour iOS (iPad Pro)
  • HTML Access 5.5.0 sous Chrome, Firefox et Internet Explorer
  • Les clients ultra légers ne sont pas pris en charge.

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

Horizon Agent et Horizon Client utilisent des ports TCP ou UDP pour l'accès réseau entre eux et divers composants d'Horizon 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 n'est pas utilisé
Serveur de sécurité, serveur de connexion Horizon ou dispositif Access Point * Agent Linux 22443 TCP/UDP Blast si Blast Security Gateway est utilisé
Agent Horizon * Serveur de connexion Horizon 4001, 4002 TCP Trafic JMS SSL.
Note : Pour plus d'informations sur les ports TCP et UDP utilisés par les clients, reportez-vous au document Sécurité d'Horizon Client et d'Horizon Agent et au Guide des ports réseau dans VMware Horizon 7.

Pour autoriser les utilisateurs à se connecter à leurs postes de travail Linux, les postes de travail doivent pouvoir accepter les connexions TCP entrantes depuis les périphériques Horizon Client, le serveur de sécurité et le Horizon Connection Server.

Sur les distributions Ubuntu et Kylin, le pare-feu iptables est configuré par défaut avec la stratégie entrante 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 un serveur de sécurité ou 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

Nom et type de compte répertorie le nom et le type de compte utilisés 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 7 for Linux prend en charge plusieurs environnements de poste de travail sur les différentes distributions Linux. Environnements de postes de travail pris en charge 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 7 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 7 for Linux
Ubuntu 18.04/20.04 Gnome Gnome Ubuntu, K Desktop Environment (KDE), MATE
Ubuntu 16.04 Unity Gnome Flashback (Metacity), KDE, MATE
RHEL/CentOS 6.x Gnome Gnome, KDE
RHEL/CentOS 7.x Gnome Gnome, KDE
RHEL/CentOS 8.x Gnome Gnome
SLED 12 SP1/SP2/SP3 Gnome Gnome
SLES 12 SP1/SP2/SP3/SP5 Gnome Gnome
NeoKylin 6 Update 1 Mate Mate
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.
Note : 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 à l'aide des 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 20.04/18.04/16.04, 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.

  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 dans Commandes pour l'installation des environnements de poste de travail de 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 6.x KDE
    # yum	groupinstall "X Window System" "KDE Desktop"
    RHEL/CentOS 7.x KDE
    # yum	groupinstall "KDE Plasma Workspaces"
    Ubuntu 20.04/18.04/16.04 KDE
    # apt install plasma-desktop
    Ubuntu 20.04/18.04 MATE
    # apt install	ubuntu-mate-desktop
    Ubuntu 16.04 MATE
    # apt-add-repository ppa:ubuntu-mate-dev/xenial-mate 
    # apt update
    # apt upgrade
    # apt install	mate
    # apt install	ubuntu-mate-themes
    Ubuntu 16.04 Gnome Flashback (Metacity)
    # apt install gnome-session-flashback
  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/16.04 et RHEL/CentOS 7.x, utilisez les informations dans Option SSODesktopType 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 6.x, pour que la session d'authentification unique (SSO) utilise KDE, 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 KDE. Utilisez l'ensemble de commandes suivant comme exemple.
    # cd /usr/share/xsessions
    # mkdir backup
    # mv *.desktop backup
    # mv backup/kde*.desktop ./
    Après la configuration initiale, l'utilisateur final doit se déconnecter ou redémarrer son poste de travail Linux pour utiliser KDE comme poste de travail par défaut lors de sa prochaine session d'authentification unique (SSO).
  • 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 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 6 :
    sudo yum install wireshark
    Pour Ubuntu 20.04/18.04/16.04 :
    sudo apt install tshark
    Pour SLED/SLES 12 :
    sudo zypper install wireshark
  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 binaire résultant sur votre système Linux, utilisez les commandes du tableau qui suit ces étapes.
    Par exemple, si vous décompressez le fichier d'installation VMware-horizonagent-linux-x86_64-<version>-<build-number>.tar.gz, dans le répertoire /install_tmp/, full-path_to_patch-file correspond à /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<buildnumber>/resources/vhci/patch/vhci.patch et la commande patch à utiliser est la suivante :
    # patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<build-number>/resources/vhci/patch/vhci.patch
Note : L'installation du pilote VHCI doit être effectuée avant l'installation d' Horizon for Linux.
Tableau 8. Compilez et installez 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

Ubuntu 16.04

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 6.9/6.10

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 SP2

  1. Déterminez 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

En outre, observez les directives suivantes :

  • 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 20.04/18.04/16.04.
    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