Für die Installation von Horizon 7 for Linux muss Ihr Linux-System bestimmte Anforderungen in Bezug auf das Betriebssystem, Horizon 7 und die vSphere-Plattform erfüllen.

Unterstützte Linux-Versionen für Horizon Agent

In der folgenden Tabelle sind die Linux-Betriebssysteme aufgeführt, die für Horizon Agent unterstützt werden.

Tabelle 1. Unterstützte Linux-Betriebssysteme für Horizon Agent
Linux-Verteilung Architektur
Ubuntu 16.04, 18.04 und 20.04
Hinweis: Ubuntu 16.04 wird für Horizon Agent 7.13.1 und höher nicht unterstützt.
Hinweis: Sie müssen eine der im VMware-KB-Artikel http://kb.vmware.com/kb/2151294 beschriebenen Lösungen anwenden.
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 und 8.4

Hinweis: Es gelten die folgenden Anforderungen:
  • Zur Unterstützung von RHEL Workstation 7.9 müssen Sie Horizon Agent 7.13.1 oder höher installieren.
  • Zur Unterstützung von RHEL Workstation 8.3 / 8.4 müssen Sie den Horizon Agent 7.13.2 oder höher installieren.
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 und 8.4

Hinweis: Es gelten die folgenden Anforderungen:
  • Zur Unterstützung von CentOS 7.9 müssen Sie Horizon Agent 7.13.1 oder höher installieren.
  • CentOS 8.x wird für Horizon Agent 7.13.2 und höher nicht unterstützt.
x64
NeoKylin 6 Update 1 x64
SLED 12.x SP1/SP2/SP3 x64
SLES 12.x SP1/SP2/SP3/SP5 x64
Hinweis: Der Linux Agent verfügt bei einigen Linux-Distributionen über Abhängigkeitspakete. Weitere Informationen finden Sie unter Installieren von Abhängigkeitspaketen für Horizon Agent.
Hinweis: Auf RHEL/CentOS 8.x-Systemen unterstützt Horizon Agent nur das X11-Anzeigeserverprotokoll. Das Wayland-Protokoll wird nicht unterstützt.

Erforderliche Plattform- und Horizon 7-Softwareversionen

Um Horizon 7 for Linux installieren und anwenden zu können, muss Ihre Bereitstellung bestimmte Anforderungen für die vSphere-Plattform, Horizon 7 und die Horizon Client-Software erfüllen.

Tabelle 2. Erforderliche Plattform- und Horizon 7-Softwareversionen
Plattform und Software Unterstützte Versionen
vSphere-Plattformversion
  • vSphere 6.0 U2 oder eine höhere Version
  • vSphere 6.5 U1 oder eine höhere Version
  • vSphere 6.7 oder eine höhere Version
Horizon-Umgebung
  • Horizon-Verbindungsserver 7.13
Horizon Client-Software
  • Horizon Client 5.5.0 für Android
  • Horizon Client 5.5.0 für Windows
  • Horizon Client 5.5.0 für Linux
  • Horizon Client 5.5.0 für Mac OS X
  • Horizon Client 5.5.0 für iOS (iPad Pro)
  • HTML Access 5.5.0 für Chrome, Firefox und Internet Explorer
  • Zero Clients werden nicht unterstützt.

Von virtuellen Linux-Maschinen verwendete TCP/UDP-Ports

Horizon Agent und Horizon Clients verwenden TCP- bzw. UDP-Ports für den Netzwerkzugriff untereinander und zwischen den verschiedenen Horizon Server-Komponenten.

Tabelle 3. Von virtuellen Linux-Maschinen verwendete TCP/UDP-Ports
Quelle Port Ziel Port Protokoll Beschreibung
Horizon Client * Linux Agent 22443 TCP/UDP Blast, wenn Blast Security Gateway nicht verwendet wird
Sicherheitsserver, Horizon-Verbindungsserver oder Access Point-Appliance * Linux Agent 22443 TCP/UDP Blast, wenn Blast Security Gateway verwendet wird
Horizon-Agent * Horizon-Verbindungsserver 4001, 4002 TCP JMS-SSL-Datenverkehr.
Hinweis: Weitere Informationen zu von Clients verwendeten TCP- und UDP-Ports finden Sie im Dokument Horizon Client und Agent-Sicherheit und im Leitfaden Netzwerkports in VMware Horizon 7.

Damit Benutzer sich mit ihren Linux-Desktops verbinden können, müssen die Desktops eingehende TCP-Verbindungen von Horizon Client-Geräten, vom Sicherheitsserver und von Horizon Connection Server akzeptieren.

Bei Ubuntu- und Kylin-Distributionen wird standardmäßig die iptables-Firewall mit einer Eingaberichtlinie von ACCEPT konfiguriert.

Bei RHEL- und CentOS-Verteilungen konfiguriert, wenn möglich, das Horizon Agent-Installationsskript die iptables-Firewall mit einer Eingaberichtlinie von ACCEPT.

Stellen Sie sicher, dass iptables auf einem RHEL- oder CentOS-Gastbetriebssystem über eine Eingaberichtlinie von ACCEPT für neue Verbindungen vom Blast-Port 22443 verfügt.

Wenn der BSG (Blast Secure Gateway) aktiviert ist, werden die Clientverbindungen von einem Horizon Client-Gerät über den BSG auf einem Sicherheitsserver oder Horizon Connection Server zum Linux-Desktop hergestellt. Ist der BSG nicht aktiviert, werden die Verbindungen zum Linux-Desktop direkt vom Horizon Client-Gerät hergestellt.

Überprüfen des von virtuellen Linux-Maschinen verwendeten Linux-Kontos

Kontoname und Kontotyp enthält den Kontonamen und den Kontotyp, die von Linux-Maschinen verwendet werden.

Tabelle 4. Kontoname und Kontotyp
Kontoname Kontotyp Verwendet von
Stammordner Integriertes Linux-Betriebssystem Java Standalone Agent, mksvchanserver, Shell-Skripts
vmwblast Erstellt durch das Linux Agent-Installationsprogramm VMwareBlastServer
<Aktuell angemeldeter Benutzer> Integriertes Linux-Betriebssystem oder AD-Benutzer oder LDAP-Benutzer Python-Skript

Desktop-Umgebung

Horizon 7 for Linux unterstützt mehrere Desktop-Umgebungen auf unterschiedlichen Linux-Distributionen. Unterstützte Desktop-Umgebungen enthält die Standard-Desktop-Umgebungen für jede Linux-Distribution und die zusätzlichen Desktop-Umgebungen, die von Horizon 7 for Linux unterstützt werden.
Tabelle 5. Unterstützte Desktop-Umgebungen
Linux-Verteilung Standard-Desktop-Umgebung Von Horizon 7 for Linux-Desktops unterstützte Desktop-Umgebungen
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
Um die Standard-Desktop-Umgebung zu ändern, die auf einem der unterstützten Linux-Verteilungen verwendet wird, müssen Sie die folgenden für Ihren Linux-Desktop geeigneten Schritte und Befehle ausführen.
Hinweis: Die einmalige Anmeldung (Single Sign-on, SSO) für KDE und die MATE-Desktop-Umgebung funktionieren nur, wenn Ihr Linux-Desktop den GDM3-Greeter (Anmeldebildschirm) verwendet. Sie müssen KDE und MATE mit den unter Befehle zum Installieren von Desktop-Umgebungen beschriebenen Befehlen installieren.

Wenn Sie RHEL/CentOS 7.x- und Ubuntu 20.04/18.04/16.04-Verteilungen verwenden, kann eine gesperrte KDE-Sitzung nicht durch SSO entsperrt werden. Sie müssen Ihr Kennwort manuell eingeben, um die gesperrte Sitzung zu entsperren.

  1. Installieren Sie das unterstützte Betriebssystem der Linux-Verteilung mit der Einstellung für die Standard-Desktop-Umgebung.
  2. Führen Sie die unter Befehle zum Installieren von Desktop-Umgebungen aufgeführten entsprechenden Befehle für Ihre spezifische Linux-Distribution aus.
    Tabelle 6. Befehle zum Installieren von Desktop-Umgebungen
    Linux-Verteilung Neue Standard-Desktop-Umgebung Befehle zum Ändern der Standard-Desktop-Umgebung
    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. Um die neue Standard-Desktop-Umgebung zu verwenden, starten Sie den Desktop neu.
Wenn Sie die SSO-Funktion auf einem Linux-Desktop aktivieren, auf der mehrere Desktop-Umgebungen installiert sind, beachten Sie die nachfolgend aufgeführten Hinweise zur Auswahl der Desktop-Umgebung.
  • Verwenden Sie für Ubuntu 20.04/18.04/16.04 und RHEL/CentOS 7.x die Informationen im Abschnitt Option SSODesktopType zum Konfigurieren der Option SSODesktopType in der Datei /etc/vmware/viewagent-custom.conf, um die Desktop-Umgebung festzulegen, für die die SSO-Funktion verwendet werden soll.
    Tabelle 7. Option SSODesktopType
    Desktop-Typ Einstellung der Option SSODesktopType
    MATE SSODesktopType=UseMATE
    GnomeUbuntu SSODesktopType=UseGnomeUbuntu
    GnomeFlashback SSODesktopType=UseGnomeFlashback
    KDE SSODesktopType=UseKdePlasma
    GnomeClassic SSODEsktopType=UseGnomeClassic
  • Um für RHEL/CentOS 6.x KDE für die SSO-Anmeldesitzung zu verwenden, entfernen Sie alle Desktop-Startdateien mit Ausnahme der KDE-Startdatei aus dem Verzeichnis /usr/share/xsession. Verwenden Sie den folgenden Satz an Befehlen als Beispiel.
    # cd /usr/share/xsessions
    # mkdir backup
    # mv *.desktop backup
    # mv backup/kde*.desktop ./
    Nach der ersten Einrichtung muss sich der Endbenutzer abmelden oder den Linux-Desktop neu starten, damit KDE in der nächsten SSO-Sitzung als Standard-Desktop verwendet wird.
  • Um mit RHEL/CentOS 8.x für die SSO-Anmeldesitzung Gnome Classic zu verwenden, entfernen Sie alle Desktop-Startdateien mit Ausnahme der Gnome Classic-Startdatei aus dem Verzeichnis /usr/share/xsession. Verwenden Sie den folgenden Satz an Befehlen als Beispiel.
    # cd /usr/share/xsessions
    # mkdir backup
    # mv *.desktop backup
    # mv backup/gnome-classic.desktop ./
    Nach der ersten Einrichtung muss sich der Endbenutzer abmelden oder den Linux-Desktop neu starten, damit Gnome Classic in der nächsten SSO-Sitzung als Standard-Desktop verwendet wird.

Wenn Sie die SSO-Funktion auf einem Linux-Desktop deaktivieren, auf dem mehrere Desktop-Umgebungen installiert sind, müssen Sie keinen der zuvor beschriebenen Schritte ausführen. Die Endbenutzer müssen ihre gewünschte Desktop-Umgebung auswählen, wenn sie sich mit diesem Linux-Desktop anmelden.

Netzwerkanforderungen

VMware Blast Extreme unterstützt sowohl das User Datagram Protocol (UDP) als auch das Transmission Control Protocol (TCP). Die Netzwerkbedingungen wirken sich auf die Leistungsfähigkeit von UDP und TCP aus. Wählen Sie für eine bestmögliche Benutzererfahrung UDP oder TCP basierend auf der Netzwerkverbindung aus.
  • Wählen Sie TCP aus, wenn die Netzwerkverbindung gut ist, wie z. B. in einer Umgebung mit lokalem Netzwerk (LAN).
  • Wählen Sie UDP aus, wenn die Netzwerkverbindung schlecht ist, wie z. B. in einer WAN (Wide Area Network)-Umgebung, in der es zu Paketverlusten und einer zeitlichen Verzögerung kommt.
Ermitteln Sie mit einem Netzwerkanalysetool wie Wireshark, ob VMware Blast Extreme TCP oder UDP verwendet wird. Die im Folgenden aufgeführten Schritte mit Wireshark zeigen eine beispielhafte Verwendung.
  1. Laden Sie Wireshark herunter und installieren Sie es auf Ihrer Linux-VM.
    Für RHEL/CentOS 6:
    sudo yum install wireshark
    Für Ubuntu 20.04/18.04/16.04:
    sudo apt install tshark
    Für SLED/SLES 12:
    sudo zypper install wireshark
  2. Stellen Sie mithilfe von VMware Horizon Client eine Verbindung mit dem Linux-Desktop her.
  3. Öffnen Sie ein Terminal-Fenster und führen Sie den im Folgenden aufgeführten Befehl aus. Dieser zeigt das TCP- oder UDP-Paket an, das von VMware Blast Extreme verwendet wird.
    sudo tshark -i any | grep 22443
Die Funktionen USB-Umleitung und Clientlaufwerksumleitung hängen von der Netzwerkverbindung ab. Wenn die Netzwerkverbindung schlecht ist, d. h. nur eine begrenzte Bandbreite mit Zeitverzögerung und Paketverlusten zur Verfügung steht, beeinträchtigt dies die Benutzererfahrung. In diesem Fall kann der Endbenutzer möglicherweise Folgendes feststellen:
  • Das Kopieren der Remote-Dateien kann lange dauern. Ist dies der Fall, übertragen Sie stattdessen kleinere Dateien.
  • Das USB-Gerät wird nicht auf dem Linux-Remote-Desktop angezeigt.
  • Die USB-Daten werden nicht vollständig übertragen. Wenn Sie beispielsweise eine große Datei kopieren, erhalten Sie möglicherweise eine Datei, die kleiner als die Originaldatei ist.

VHCI-Treiber für die USB-Umleitung

Die USB-Weiterleitungsfunktion verfügt über eine Abhängigkeit vom Kerneltreiber des USB Virtual Host Controller Interface (VHCI). Um USB 3.0 und die USB-Umleitungsfunktion zu unterstützen, müssen Sie die folgenden Schritte ausführen:

  1. Laden Sie den USB-VHCI-Quellcode von https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/ herunter.
  2. Verwenden Sie zum Kompilieren des Quellcodes des VHCI-Treibers und zum Installieren der resultierenden Binärdatei auf Ihrem Linux-System die Befehle in der Tabelle, die im Anschluss an diese Schritte angezeigt wird.
    Wenn Sie beispielsweise die Installationsdatei VMware-horizonagent-linux-x86_64-<version>-<build-number>.tar.gz entpacken, ist im Verzeichnis /install_tmp/ die full-path_to_patch-file /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<buildnumber>/resources/vhci/patch/vhci.patch , und der zu verwendende patch-Befehl lautet:
    # patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<build-number>/resources/vhci/patch/vhci.patch
Hinweis: Der VHCI-Treiber muss vor der Installation von Horizon for Linux installiert werden.
Tabelle 8. Kompilieren und Installieren der VHCI-USB-Treiber
Linux-Verteilung Schritte zum Kompilieren und Installieren der VHCI-USB-Treiber
Ubuntu 20.04/18.04
  1. Installieren Sie die Abhängigkeitspakete.
    # apt-get install make
    # apt-get install gcc
    # apt-get install libelf-dev
  2. Kompilieren und installieren Sie die VHCI-Treiber.
    # 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

Kompilieren und installieren Sie die VHCI-Treiber.
# 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. Installieren Sie die Abhängigkeitspakete.
    # 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. Kompilieren und installieren Sie die VHCI-Treiber.
    # 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) Um sicherzustellen, dass die VHCI-Treiber mit der USB-Umleitung ordnungsgemäß funktionieren, konfigurieren Sie die Signatureinstellungen für den USB-Treiber.
    1. Erstellen Sie ein SSL-Schlüsselpaar für den USB-Treiber.
      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. Erstellen Sie eine Signatur für den USB-Treiber.
      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. Registrieren Sie den Schlüssel für den sicheren UEFI-Startvorgang.
      sudo mokutil --import MOK.der
      Hinweis: Dieser Befehl gibt eine Anforderung zum Festlegen eines Kennworts für den Machine Owner Key (MOK) für den sicheren UEFI-Start aus.
    4. Um einen sicheren UEFI-Start in der vSphere-Konsole einzurichten, starten Sie das System neu. Weitere Informationen finden Sie unter https://sourceware.org/systemtap/wiki/SecureBoot.

SLED/SLES 12 SP2

  1. Ermitteln Sie die Version des aktuellen Kernelpakets.
    # rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    Die Ausgabe besteht aus dem Namen des aktuell installierten Kernelpakets. Wenn der Name des Pakets z. B. kernel-default-3.0.101-63.1 lautet, ist die aktuelle Version des Kernelpakets 3.0.101-63.1.

  2. Installieren Sie die Pakete kernel-devel, kernel-default-devel, kernel-macros und patch.
    # zypper install --oldpackage kernel-devel-<kernel-package-version> \
    kernel-default-devel-<kernel-package-version> kernel-macros-<kernel-package-version> patch
    Beispiel:
    # 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. Kompilieren und installieren Sie die VHCI-Treiber.
    # 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

Beachten Sie außerdem die folgenden Richtlinien:

  • Wenn sich Ihre Linux-Kernelversion zu einer neuen Version ändert, müssen Sie den VHCI-Treiber erneut kompilieren und installieren. Horizon for Linux muss aber nicht erneut installiert werden.
  • Sie können auch DKMS (Dynamic Kernel Module Support) zum VHCI-Treiber hinzufügen. Gehen Sie dazu wie im folgenden Beispiel für ein Ubuntu 20.04/18.04/16.04-System vor.
    1. Installieren Sie die Kernel-Header.
      # apt install linux-headers-`uname -r`
    2. Installieren Sie dkms mit dem folgenden Befehl.
      # apt install dkms
    3. Extrahieren und patchen Sie die VHCI-TAR-Datei.
      # tar xzvf vhci-hcd-1.15.tar.gz
      # cd vhci-hcd-1.15
      # patch -p1 <full-path_to_patch-file>
      # cd ..
    4. Kopieren Sie die extrahierten VHCI-Quelldateien in das Verzeichnis /usr/src.
      # cp -r vhci-hcd-1.15 /usr/src/usb-vhci-hcd-1.15
    5. Erstellen Sie eine Datei mit dem Namen dkms.conf und speichern Sie diese im Verzeichnis /usr/src/usb-vhci-hcd-1.15.
      # touch /usr/src/usb-vhci-hcd-1.15/dkms.conf
    6. Fügen Sie die folgenden Inhalte zur Datei dkms.conf hinzu.
      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. Fügen Sie diesen VHCI-Treiber zur Datei dkms hinzu.
      # dkms add usb-vhci-hcd/1.15
    8. Erstellen Sie den VHCI-Treiber.
      # dkms build usb-vhci-hcd/1.15
    9. Installieren Sie den VHCI-Treiber.
      # dkms install usb-vhci-hcd/1.15