To install Horizon 7 for Linux, your Linux system must meet certain requirements for the operating system, Horizon 7, and vSphere platform.

Supported Linux Versions for Horizon Agent

The following table lists the Linux operating systems that are supported on virtual machines in a desktop pool.

Table 1. Supported Linux Operating Systems for View Agent

Linux Distribution

Architecture

Ubuntu 14.04 and 16.04

Note:

Disable Compiz to avoid poor performance. See http://kb.vmware.com/kb/2114809 for more information.

x64

Ubuntu 12.04

x64

RHEL 6.6, 6.7, 6.8, 6.9, 7.2 and 7.3

x64

CentOS 6.6, 6.7, 6.8, 6.9, 7.2, and 7.3

x64

NeoKylin 6 Update 1

x64

SLED 11 SP3/SP4, SLED 12 SP1/SP2

x64

SLES 12 SP1/SP2

x64

Note:

Linux agent has dependency packages on some Linux distribution. See Install Dependency Packages for Horizon Agent for more information.

Required Platform and Horizon 7 Software Versions

To install and use Horizon 7 for Linux, your deployment must meet certain requirements for the vSphere platform, Horizon 7, and the Horizon Client software.

Table 2. Required Platform and Horizon 7 Software Versions

Platform and Software

Supported Versions

vSphere platform version

  • vSphere 6.0 U2 or a later release

  • vSphere 6.5 or a later release

Horizon environment

  • Horizon Connection Server 7.2

Horizon Client software

  • Horizon Client 4.5.0 for Android

  • Horizon Client 4.5.0 for Windows

  • Horizon Client 4.5.0 for Linux

  • Horizon Client 4.5.0 for Mac OS X

  • Horizon Client 4.5.0 for iOS (iPad Pro)

  • HTML Access 4.5.0 on Chrome, Firefox, and Internet Explorer

  • Zero clients are not supported

TCP Ports Used By Linux Virtual Machines

View Agent and Horizon Clients use TCP ports for network access between each other and various View server components.

Table 3. TCP Ports Used By Linux Virtual Machines

Source

Port

Target

Port

Protocol

Description

Horizon Client

*

Linux Agent

22443

TCP

Blast if Blast Security Gateway is not used

Security Server, View Connection Server, or Access Point appliance

*

Linux Agent

22443

TCP

Blast if Blast Security Gateway is used

View Agent

*

View Connection Server

4001, 4002

TCP

JMS SSL traffic.

Note:

For more information on TCP and UDP ports used by clients, see TCP and UDP Ports Used by Clients and View Agent in the Horizon Client and View Agent Security in View document.

Verify the Linux Account Used By Linux Virtual Machines

The following table lists the account name and account type used by Linux virtual machines.

Table 4. Account Name and Account Type

Account Name

Account Type

Used By

root

Linux OS built-in

Java Standalone Agent, mksvchanserver, shell scripts

vmwblast

created by Linux Agent installer

VMwareBlastServer

<current login user>

Linux OS built-in or AD user or LDAP user

python script

Desktop Environment

Horizon 7 for Linux Desktop supports multiple desktop environments on different Linux distributions. The following table lists the default desktop environments for each Linux distribution supported by Horizon 7 for Linux Desktop.

Table 5. Supported Desktop Environments

Linux Distribution

Default Desktop

Environment

Desktop Environment Supported by Horizon 7 for Linux Desktop

Ubuntu 14.04/16.04

Unity

Gnome Fallback/Flashback (Metacity)

Ubuntu 12.04

Unity

Unity

RHEL/CentOS 6

Gnome

Gnome, K Desktop Environment (KDE)

RHEL/CentOS 7

Gnome

Gnome

SLED 11 SP4

Gnome

Gnome

SLED 12 SP1/SP2

Gnome

Gnome

SLES 12 SP1/SP2

Gnome

Gnome

NeoKylin 6 Update 1

Mate

Mate

To install the Gnome Fallback/Flashback (Metacity) desktop environment on Ubuntu 14.04/16.04, see the VMware KB article http://kb.vmware.com/kb/2114809 for more information.

Use the following information to install KDE as the default desktop environment on RHEL/CentOS 6 distributions.

Note:

Single sign-on (SSO) for KDE only works if you install it using the steps described below.

  1. Install the RHEL/CentOS 6 OS with the default desktop environment setting and Gnome will be installed.

  2. Install KDE using the following command.

    sudo yum groupinstall "X Window System" "KDE Desktop"

If you enabled SSO on a Linux distribution that has multiple desktop environments installed, use the following information to select the desktop environment..

  • For Ubuntu 14.04/16.04, enable the UseGnomeFlashback option in the /etc/vmware/viewagent-custom.conf file to force the end user to use Gnome Fallback/Flashback (Metacity).

  • For RHEL/CentOS 6, the end users must specify the desktop environment name kde or gnome in the ~/.dmrc file to determine what will be used in their next SSO login session. For example, to use KDE as the default desktop environment, the end user must include the following setting in their ~/.dmrc file.

    [Desktop]
    Session=kde

    After the initial setup, the end user must log out or reboot the Linux system to make KDE, for the above example, as the default desktop in their next login session.

If you disabled SSO on the Linux distribution that have multiple desktop environments installed, the end user has to select the desired desktop environment when they log in to that Linux distribution.

VHCI Driver for USB Redirection

The USB redirection feature is supported beginning with Horizon 7 version 7.1 for Linux desktops. The feature has a dependency on the USB Virtual Host Controller Interface (VHCI) kernel driver. You must patch the VHCI driver to support USB 3.0.

The Horizon for Linux installer includes the VHCI driver binary for the default kernel of the supported Linux distributions. It installs the VHCI driver when the USB redirection feature is selected. The following table lists the default kernel versions that the Horizon for Linux Desktop installer will install.

Table 6. Default Kernel Versions

Linux Distribution

Default Kernel Version

RHEL/CentOS 6.9

2.6.32-696.el6.x86_64

SUSE 12 SP2

4.4.21-69-default

RHEL/CentOS 7.3

3.10.0-514.el7.x86_64

Ubuntu 14.04

3.13.0-24-generic

Ubuntu 16.04

4.4.0-21-generic

If your Linux system uses a kernel version that is different from the default versions included with the Horizon for Linux installer, you must download the USB VHCI source code from https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/. You must then compile the VHCI driver source code and install the resulting binary on your Linux system.

Note:

The VHCI driver installation must be done before the installation of Horizon for Linux.

After you download the latest version of the USB VHCI driver source code, use the following commands to compile and install it on your Linux system. For example, if you unpack the installation file, VMware-horizonagent-linux-x86_64-<version>-<build-number>.tar.gz, under the /install_tmp/ directory, the full-path_to_patch-file is /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<buildnumber>/resources/vhci/patch/vhci.patch and the patch command to use is

# patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<build-number>/resources/vhci/patch/vhci.patch

Table 7. Compile and Install USB VHCI Driver

Linux Distribution

Steps to Compile and Install USB VHCI Driver

Ubuntu 14.04

Ubuntu 16.04

Compile and install the VHCI drivers.

# 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

RHEL/CentOS 7.3

  1. Install the dependency packages.

    # yum install gcc-c++
    # yum install kernel-devel-$(uname -r)
    # yum install kernel-headers-$(uname -r)
    # yum install patch
  2. Compile and install the VHCI drivers.

    # 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

SUSE 11 SP4

SUSE 12 SP2

  1. Find out the version of the current kernel package

    # rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    The output is the name of the kernel package currently installed. If, for example, the package name is kernel-default-3.0.101-63.1, then the current kernel package version is 3.0.101-63.1.

  2. Install the dependency packages.

    1. For SUSE 11, install the kernel-source and kernel-default-devel packages that match the current kernel; the gcc and the patch packages.

       #zypper install --oldpackage kernel-source-<kernel-package-version> \
      kernel-default-devel-<kernel-package-version> gcc patch

      For example:

       #zypper install --oldpackage kernel-source-3.0.101-63.1 kernel-default-devel-3.0.101-63.1 gcc patch

    2. For SUSE 12, install the kernel-devel, kernel-default-devel, kernel-macros, and the patch packages.

    #zypper install --oldpackage kernel-devel-<kernel-package-version> \
    kernel-default-devel-<kernel-package-version> kernel-macros-<kernel-package-version> patch

    For example:

    #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. Compile and install the VHCI drivers.

    # 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

If your Linux kernel version is changed, you must recompile and reinstall the VHCI driver, but you do not need to reinstall Horizon for Linux.