VMware Horizon 7.4 Quick Start Guide

Setting Up Horizon 7 for Linux Desktops
Modified on 4 JAN 2018 VMware Horizon 7 7.4
Setting Up Horizon 7 for Linux Desktops
You can find the most up-to-date technical documentation on the VMware website at:
https://docs.vmware.com/
docfeedback@vmware.com
VMware, Inc.
3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com
Copyright © 2016, 2018 VMware, Inc. All rights reserved. Copyright and trademark information.
VMware, Inc. 2

Contents

Setting Up Horizon 7 for Linux Desktops 5
Features and System Requirements 6
1
Features of Horizon Linux Desktops 6
Overview of Configuration Steps for Horizon 7 for Linux Desktops 12
System Requirements for Horizon 7 for Linux 13
Preparing a Linux Virtual Machine for Desktop Deployment 25
2
Create a Virtual Machine and Install Linux 25
Prepare a Linux Machine for Remote Desktop Deployment 26
Install Dependency Packages for Horizon Agent 28
Setting Up Active Directory Integration for Linux Desktops 30
3
Integrating Linux with Active Directory 30
Setting Up Single Sign-on and Smart Card Redirection 33
Setting Up Graphics for Linux Desktops 36
4
Configure Supported RHEL Distributions for vGPU 36
Configure RHEL 6 for vDGA 42
Configure RHEL 7 for vSGA 46
Installing Horizon Agent 50
5
Install Horizon Agent on a Linux Virtual Machine 50
Configure the Certificate for Linux Agent 53
Upgrading the Horizon Agent on a Linux Virtual Machine 54
Uninstall Horizon 7 for Linux Machines 56
Configuration Options for Linux Desktops 57
6
Setting Options in Configuration Files on a Linux Desktop 57
Example Blast Settings for Linux Desktops 66
Examples of Client Drive Redirection Options for Linux Desktops 66
Suppress the vSphere Console Display of a Linux Desktop 67
Create and Manage Linux Desktop Pools 68
7
Create a Manual Desktop Pool for Linux 68
Manage Desktop Pool for Linux 69
Create an Automated Full-Clone Desktop Pool for Linux 71
Create an Instant-Clone Floating Desktop Pool for Linux 73
VMware, Inc.
3
Setting Up Horizon 7 for Linux Desktops
Broker PowerCLI Commands 76
Bulk Deployment of Horizon 7 for Manual Desktop Pools 79
8
Overview of Bulk Deployment of Linux Desktops 79
Overview of Bulk Upgrade of Linux Desktops 81
Create a Virtual Machine Template for Cloning Linux Desktop Machines 82
Input File for the Sample PowerCLI Scripts to Deploy Linux Desktops 84
Sample Script to Clone Linux Virtual Machines 84
Sample Script to Join Cloned Virtual Machines to AD Domain 88
Sample Script to Join Cloned Virtual Machines to AD Domain Using SSH 91
Sample Script to Upload Configuration Files to Linux Virtual Machines 95
Sample Script to Upload Configuration Files to Linux Virtual Machines Using SSH 98
Sample Script to Upgrade Horizon Agent on Linux Desktop Machines 103
Sample Script to Upgrade Horizon Agent on Linux Virtual Machines Using SSH 107
Sample Script to Perform Operations on Linux Virtual Machines 113
Troubleshooting Linux Desktops 117
9
Collect Diagnostic Information for Horizon 7 for Linux Machine 117
Troubleshooting Copy and Paste between Remote Desktop and Client Host 118
Configuring the Linux Firewall to Allow Incoming TCP Connections 118
View Agent Fails to Disconnect on an iPad Pro Horizon Client 118
SLES 12 SP1 Desktop does not Auto Refresh after Drag and Drop 119
SSO Fails to Connect to a PowerOff Agent 119
Unreachable VM After Creating a Manual Desktop Pool for Linux 119
VMware, Inc. 4

Setting Up Horizon 7 for Linux Desktops

The Setting Up Horizon 7 for Linux Desktops document provides information about setting up a Linux virtual machine for use as a VMware Horizon® 7 desktop, including preparing the Linux guest operating system, installing Horizon Agent on the virtual machine, and configuring the machine in View Administrator for use in a Horizon 7 deployment.
Intended Audience
This information is intended for anyone who wants to configure and use remote desktops that run on Linux guest operating systems. The information is written for experienced Linux system administrators who are familiar with virtual machine technology and datacenter operations.
VMware, Inc.
5
Features and System
Requirements 1
With Horizon 6 or later, users can connect to remote desktops that run the Linux operating system.
This chapter includes the following topics:
n

Features of Horizon Linux Desktops

n
Overview of Configuration Steps for Horizon 7 for Linux Desktops
n
System Requirements for Horizon 7 for Linux
Features of Horizon Linux Desktops
Horizon 7 version 7.4 introduces several new features for Linux desktops.
The following new features are supported beginning with Horizon 7 version 7.4 release.
n
Creation of a Linux-based desktop pool with an instant-clone floating desktop pool. This feature is supported only on Ubuntu 14.04 and 16.04 systems.
n
Integration of Linux desktops with Active Directory using PowerBroker Identity Services Open (PBISO). This feature is supported only on Ubuntu 14.04 and 16.04 systems.
n
Support of SUSE Linux Enterprise Server and Desktop 12 SP3.
n
Support of the 3Dconnexion mouse.
VMware, Inc.
6
Setting Up Horizon 7 for Linux Desktops
The following list presents the key features for Horizon Linux Desktops.
Active Directory
Integration with PBIS
Open
Beginning with Horizon 7 version 7.4 release, Linux-based desktops can authenticate with Active Directory using PowerBroker Identity Services Open (PBISO). This feature is supported only on Ubuntu 14.04 and 16.04 systems. See the PowerBroker Identity Services Open (PBISO) Authentication section in Integrating Linux with Active Directory for more information.
Instant-Clone Floating
Desktop Pool
Beginning with Horizon 7 version 7.4 release, you can create instant-clone floating desktop pools for Linux desktops. This feature is supported only on Ubuntu 14.04 and 16.04 systems. For more information, see Create an
Instant-Clone Floating Desktop Pool for Linux.
Note A Linux VDI instant-clone agent has a 4096x4096 resolution
limitation.
Automated Full-Clone
Desktop Pool
Beginning with Horizon 7 version 7.0.2 release, you can create automated full-clone desktop pools for Linux desktops.
Manual Desktop Pool Machine source.
n
Managed Virtual Machine - Machine source of the vCenter virtual machine. A managed virtual machine is supported for new and upgrade deployment.
Multiple Monitors
n
Unmanaged Virtual Machine - Machine source of other sources. An unmanaged virtual machine is only supported when the upgrade is from an unmanaged virtual machine deployment.
Note To ensure the best possible performance, do not use an unmanaged
virtual machine.
n
vDGA/vGPU desktop supports a maximum resolution of 2560x1600 on four monitors.
n
2D/vSGA desktop on VMware vSphere® 6.0 or later supports a maximum resolution of 2048x1536 on four monitors or a maximum resolution of 2560x1600 on three monitors.
For Ubuntu 14.04/16.04, you must use Gnome, KDE, or the MATE desktop environment to use the multiple monitors feature. See
http://kb.vmware.com/kb/2151294 for more information.
VMware, Inc. 7
Setting Up Horizon 7 for Linux Desktops
For SLES 12 SP1, you must use the default package with kernel level kernel-default-3.12.49-11.1. If you upgraded the package, the multi-monitor feature fails and the desktop is shown in one monitor.
VMware Horizon HTML Access does not support the multi-monitor feature in Horizon 7 for Linux desktops.
Lossless PNG Images and videos that are generated on a desktop are rendered on the
client device in a pixel-exact manner.
H.264 Encoder
H.264 can improve the Blast Extreme performance for a Horizon desktop, especially under a low-bandwidth network. If the client side disabled H.264, Blast Extreme automatically falls back to JPEG/PNG encoding.
From Horizon 7 version 7.3 for Linux release, hardware H.264 encoder support is added with the software H.264 encoder support. The hardware H.264 support has the following requirements.
n
The vGPU is configured with the NVIDIA graphics card.
n
The NVIDIA driver 384 series or later is installed in the NVIDIA graphics card.
When the system meets the preceding requirements, Horizon 7 for Linux uses the hardware H.264 encoder. Otherwise, the software H.264 encoder is used.
3D Graphics 3D graphics is supported with the following combinations of Linux versions
and graphics cards:
n
vSGA is supported on RHEL 7 Workstation x64 with NVIDIA GRID K1 or K2 graphics cards.
n
vDGA is supported on RHEL 6 Workstation x64 with NVIDIA GRID K1 or K2 graphics cards.
n
vGPU is supported on RHEL 6 Workstation x64 with NVIDIA Maxwell M60 graphics cards.
n
vGPU is supported on RHEL 7 Workstation x64 with NVIDIA Maxwell M60 graphics cards.
n
vGPU is supported on RHEL 6 Workstation x64 with NVIDIA M6 graphics cards.
n
vGPU is supported on RHEL 7 Workstation x64 with NVIDIA M6 graphics cards.
3Dconnexion Mouse The 3Dconnexion mouse is supported beginning with Horizon 7 version 7.4
for Linux release. To begin using your 3Dconnexion mouse, you must install the appropriate device driver and pair the mouse using the Connect USB Device menu on your Linux desktop.
VMware, Inc. 8
Setting Up Horizon 7 for Linux Desktops
Clipboard Redirection With the clipboard redirection feature, you can copy and paste a rich text or
a plain text between a client host and a remote Linux desktop. You can set the copy/paste direction and the maximum text size using Horizon Agent options. This feature is enabled by default. You can disable it during installation.
Single Sign-on Single sign-on (SSO) is supported on the following Linux distributions.
n
RHEL 6/7 Workstation x64
n
CentOS 6/7 x64
n
SLED 11 SP3/SP4 x64
n
Ubuntu 14.04/16.04 x64
Smart Card Redirection
with SSO
Smart card redirection is supported on RHEL 6 Workstation x64. Personal Identity Verification (PIV) cards and Common Access Cards (CAC) are supported. Mac client is not supported.
Audio-in Audio input redirection from a client host to a remote Linux desktop is
supported. This feature is not based on the USB redirection function. If you want this feature enabled, you must select it during installation. You must select the system default audio in device "PulseAudio server (local)" in your application for the audio input. This feature is supported on the following Linux distributions.
n
Ubuntu 14.04 x64 with MATE, KDE, or Gnome Fallback (Metacity) desktop environment
n
Ubuntu 16.04 x64 with MATE or Gnome Flashback (Metacity) desktop environment
n
RHEL 7 Workstation x64 with KDE or Gnome desktop environment
Audio-out Audio output redirection is supported. This feature is enabled by default. To
disable this feature, you must set the RemoteDisplay.allowAudio option to false. Beginning with Horizon 7 version 7.2 release, VMWare Horizon HTML Access accessed using Chrome and Firefox browsers provides audio-out support for Linux desktops.
Client Drive Redirection The Client Drive Redirection (CDR) feature is available beginning with the
Horizon 7 version 7.2 release. When you enable the CDR feature, your local system's shared folders and drives become available for you to access. You use the tsclient folder that is located in your home directory in the remote Linux desktop. To use this feature, you must install the CDR components.
VMware, Inc. 9
Setting Up Horizon 7 for Linux Desktops
USB Redirection The USB Redirection feature is available beginning with the Horizon 7
version 7.2 release. The feature gives you access to locally attached USB devices from remote Linux desktops. You must install the USB Redirection components and USB VHCI driver kernel module to use the USB feature. Ensure that you have been granted sufficient privileges to use the USB device that you want to redirect.
Note USB 3.0 protocol is supported in Horizon 7 version 7.2 release.
Keyboard Layout and
Locale Synchronization
This feature specifies whether to synchronize a client's system locale and current keyboard layout with the Horizon Linux Agent desktops. When this setting is enabled or not configured, synchronization is allowed. When this setting is disabled, synchronization is not allowed.
This feature is supported only for Horizon Client for Windows, and only for the English, French, German, Japanese, Korean, Spanish, Simplified Chinese and Traditional Chinese locales.
K Desktop Environment Beginning with Horizon 7 version 7.2 release, the K Desktop Environment
(KDE) is supported. The following are the currently supported Linux distributions.
n
CentOS 6 and 7
n
RHEL 6 and 7
n
Ubuntu 14.04 and 16.04
n
SLED 11 SP4
MATE Desktop
Environment
As of Horizon 7 version 7.3 release, the MATE Desktop Environment is supported on the following Linux distributions.
n
Ubuntu 14.04
n
Ubuntu 16.04
FIPS 140-2 Mode The Federal Information Processing Standard (FIPS) 140-2 mode support,
although not yet validated with the NIST Cryptographic Module Validation Program (CMVP), is available beginning with Horizon 7 version 7.2.
VMware, Inc. 10
Setting Up Horizon 7 for Linux Desktops
The Horizon 7 Agent for Linux implements cryptographic modules that are designed for FIPS 140-2 compliance. These modules were validated in operational environments listed in CMVP certificate #2839 and #2866, and were ported to this platform. However, the CAVP and CMVP testing requirement to include the new operational environments in VMware's NIST CAVP and CMVP certificates remains to be completed on the product roadmap.
Note The Transport Layer Security (TLS) protocol version1.2 is required
to support FIPS 140-2 mode.
UDP Support for
VMware Blast Extreme
Beginning with the release of Horizon 7 version 7.3 for Linux desktop, the User Datagram Protocol (UDP) is supported for VMware Blast Extreme and is enabled by default. Initially, Blast Extreme only supported Transmission Control Protocol (TCP).
If one of the inline components used does not support UDP, connections will fall back to using TCP over UDP. For example, if your connection is using the Blast Security Gateway component of the Horizon Connection Server or Security Server, the connection uses TCP. Even if both client and agent enabled UDP, the connection uses TCP because Blast Security Gateway does not support UDP. If users are connecting from outside the corporate network, the UDP component requires the VMware Unified Access Gateway (formerly called Access Point), which supports UDP.
Use the following information to establish a UDP-based Blast Extreme connection.
n
If the client connects to a Linux desktop directly, enable the UDP in both the client and agent. UDP is enabled by default in both the client and agent.
n
If the client connects to a Linux desktop using Unified Access Gateway, enable UDP in the client, agent, and Unified Access Gateway.
In a local area network (LAN), TCP performs better than UDP. You must disable UDP in the client or agent if you want to continue using TCP. In a wide area network (WAN), the UDP performance is better than the TCP performance.
Linux desktops and desktop pools have the following limitations:
n
Virtual Printing, location-based printing, and Real-Time Video are not supported.
n
The VMware HTML Access file transfer feature is not supported.
Note When a security server is used, port 22443 must be open in the internal firewall to allow traffic
between the security server and the Linux desktop.
VMware, Inc. 11
Setting Up Horizon 7 for Linux Desktops
Overview of Configuration Steps for Horizon 7 for Linux Desktops
When you install and configure Horizon 7 for Linux desktops, you must follow a different sequence of steps depending on whether you install 2D graphics or 3D graphics on the virtual machines.
2D Graphics - Overview of Configuration Steps
For 2D graphics, take the following steps:
1 Review the system requirements for setting up a Horizon 7 for Linux deployment. See System
Requirements for Horizon 7 for Linux.
2 Create a virtual machine in vSphere and install the Linux operating system. See Create a Virtual
Machine and Install Linux.
3 Prepare the guest operating system for deployment as a desktop in a Horizon 7 environment. See
Prepare a Linux Machine for Remote Desktop Deployment.
4 Configure the Linux guest operating system to authenticate with Active Directory. This step is
implemented with 3rd-party software, based on the requirements in your environment. See Integrating
Linux with Active Directory for more information.
5 Install Horizon Agent on the Linux virtual machine. See Install Horizon Agent on a Linux Virtual
Machine.
6 Create a desktop pool that contains the configured Linux virtual machines. See Create a Manual
Desktop Pool for Linux.
3D Graphics - Overview of Configuration Steps
You must complete the NVIDIA GRID vGPU, vDGA, or vSGA configuration on the Linux virtual machines before you install Horizon Agent on the machines and deploy a desktop pool in View Administrator.
1 Review the system requirements for setting up a Horizon 7 for Linux deployment. See System
Requirements for Horizon 7 for Linux.
2 Create a virtual machine in vSphere and install the Linux operating system. See Create a Virtual
Machine and Install Linux.
3 Prepare the guest operating system for deployment as a desktop in a Horizon 7 environment. See
Prepare a Linux Machine for Remote Desktop Deployment.
4 Configure the Linux guest operating system to authenticate with Active Directory. This step is
implemented with 3rd-party software, based on the requirements in your environment. See Integrating
Linux with Active Directory for more information.
5 Configure 3D capabilities on your ESXi hosts and the Linux virtual machine. Follow the procedures
for the 3D feature you intend to install.
n
See Configure Supported RHEL Distributions for vGPU.
VMware, Inc. 12
Setting Up Horizon 7 for Linux Desktops
n
See Configure RHEL 6 for vDGA.
n
See Configure RHEL 7 for vSGA.
6 Install Horizon Agent on the Linux virtual machine. See Install Horizon Agent on a Linux Virtual
Machine.
7 Create a desktop pool that contains the configured Linux virtual machines. See Create a Manual
Desktop Pool for Linux.
Bulk Deployment
With View Administrator, you can only deploy Linux virtual machines in a manual desktop pool. With vSphere PowerCLI, you can develop scripts that automate the deployment of a pool of Linux desktop machines. See Chapter 8 Bulk Deployment of Horizon 7 for Manual Desktop Pools.

System Requirements for Horizon 7 for Linux

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
Table 11 lists the Linux operating systems that are supported on virtual machines in a desktop pool.
Table 11. Supported Linux Operating Systems for Horizon Agent
Linux Distribution Architecture
Ubuntu 14.04 and 16.04
Note You must apply one of the solutions described in VMWare
KB article http://kb.vmware.com/kb/2151294.
Ubuntu 12.04 x64
RHEL 6.6, 6.7, 6.8, 6.9, 7.2, 7.3, and 7.4 x64
CentOS 6.6, 6.7, 6.8, 6.9, 7.2, 7.3, and 7.4 x64
NeoKylin 6 Update 1 x64
SLED 11 SP3/SP4 x64
SLED 12 SP1/SP2/SP3 x64
SLES 12 SP1/SP2/SP3 x64
Note Linux agent has dependency packages on some Linux distributions. See Install Dependency
Packages for Horizon Agent for more information.
x64
Required Platform and Horizon 7 Software Versions
To install and use Horizon for Linux, your deployment must meet certain requirements for the vSphere platform, Horizon 7, and the Horizon Client software.
VMware, Inc. 13
Setting Up Horizon 7 for Linux Desktops
Table 12. Required Platform and Horizon 7 Software Versions
Platform and Software Supported Versions
vSphere platform version
Horizon environment
Horizon Client software
n
vSphere 6.0 U2 or a later release
n
vSphere 6.5 or a later release
n
Horizon Connection Server 7.4
n
Horizon Client 4.7.0 for Android
n
Horizon Client 4.7.0 for Windows
n
Horizon Client 4.7.0 for Linux
n
Horizon Client 4.7.0 for Mac OS X
n
Horizon Client 4.7.0 for iOS (iPad Pro)
n
HTML Access 4.7.0 on Chrome, Firefox, and Internet Explorer
n
Zero clients are not supported
TCP Ports Used by Linux Virtual Machines
Horizon Agent and Horizon Clients use TCP ports for network access between each other and various Horizon server components.
Table 13. 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, Horizon Connection Server, or Access Point appliance
Horizon Agent * Horizon
* Linux Agent 22443 TCP Blast if Blast
Security Gateway is used
4001, 4002 TCP JMS SSL traffic.
Connection Server
Note For more information on TCP and UDP ports used by clients, see TCP and UDP Ports Used by
Clients and Horizon Agent in the Horizon Client and Agent Security in document.
Verify the Linux Account Used by Linux Virtual Machines
Table 14 lists the account name and account type used by Linux virtual machines.
VMware, Inc. 14
Setting Up Horizon 7 for Linux Desktops
Table 14. 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 supports multiple desktop environments on different Linux distributions. Table 15 lists the default desktop environments for each Linux distribution and the additional desktop environments supported by Horizon 7 for Linux.
Table 15. Supported Desktop Environments
Default Desktop
Linux Distribution
Ubuntu 16.04 Unity Gnome Flashback (Metacity), K Desktop Environment (KDE), MATE
Ubuntu 14.04 Unity Gnome Fallback (Metacity), KDE, MATE
Ubuntu 12.04 Unity Unity
RHEL/CentOS 6.x Gnome Gnome, KDE
RHEL/CentOS 7.x Gnome Gnome, KDE
SLED 11 SP4 Gnome Gnome, KDE
SLED 12 SP1/SP2/SP3 Gnome Gnome
Environment Desktop Environments Supported by Horizon 7 for Linux Desktops
SLES 12 SP1/SP2/SP3 Gnome Gnome
NeoKylin 6 Update 1 Mate Mate
To change the default desktop environment used on one of the supported Linux distributions, you must use the following steps and commands appropriate for your Linux desktop.
Note Single sign-on (SSO) for KDE and the MATE Desktop Environment only works when your Linux
desktop is using the default greeter (login screen). You must install KDE and MATE using the commands listed in Table 16.
When using SLED 11 SP3/SP4, RHEL/CentOS 7, and Ubuntu 14.04/16.04 distributions, SSO fails to unlock a locked KDE session. You must manually enter your password to unlock the locked session.
1 Install the supported Linux distribution's operating system with the default desktop environment
setting.
VMware, Inc. 15
Setting Up Horizon 7 for Linux Desktops
2 Run the appropriate commands in Table 16 for your specific Linux distribution.
Table 16. Commands to Install Desktop Environments
New Default Desktop
Linux Distribution
Environment Commands to Change the Default Desktop Environment
RHEL/CentOS 6 KDE
RHEL/CentOS 7 KDE
SLED 11 SP4 KDE
Ubuntu 14.04/16.04 KDE
Ubuntu 16.04 MATE 1.16
Ubuntu 14.04 MATE 1.8
Ubuntu 16.04 Gnome Flashback
(Metacity)
# yum groupinstall "X Window System" "KDE Desktop"
# yum groupinstall "KDE Plasma Workspaces"
# zypper install -t pattern desktop-kde
# apt install plasma-desktop
# apt-add-repository ppa:ubuntu-mate-dev/xenial-mate # apt update # apt upgrade # apt install mate # apt install ubuntu-mate-themes
# apt-add-repository ppa:ubuntu-mate-dev/ppa # apt-add-repository ppa:ubuntu-mate-dev/trusty-mate # apt-get update # apt-get upgrade # apt-get install mate
# apt install gnome-session-flashback
Ubuntu 14.04 Gnome Fallback
(Metacity)
# apt-get install gnome-session-fallback
3 To begin using the new default desktop environment, restart the desktop.
If you enabled SSO on a Linux desktop that has multiple desktop environments installed, use the following information to select the desktop environment to use in an SSO session.
n
For Ubuntu 14.04/16.04 and RHEL/CentOS 7.x, use the information in Table 17 to set the SSODesktopType option in /etc/vmware/viewagent-custom.conf file to specify the desktop environment to use with SSO.
Table 17. SSODesktopType Option
Desktop Type SSODesktopType Option Setting
MATE SSODesktopType=UseMATE
GnomeFlashback SSODesktopType=UseGnomeFlashback
KDE SSODesktopType=UseKdePlasma
GnomeClassic SSODEsktopType=UseGnomeClassic
VMware, Inc. 16
Setting Up Horizon 7 for Linux Desktops
n
For RHEL/CentOS 6.x and SLED 11 SP3/SP4, for the SSO login session to use KDE, remove all the desktop startup files, except for the KDE startup file, from the /usr/share/xsession directory. Use the following set of commands as an example.
# cd /usr/share/xsessions
# mkdir backup
# mv *.desktop backup
# mv backup/kde*.desktop ./
After the initial setup, the end user must log out or reboot their Linux desktop to make KDE as the default desktop in their next SSO session.
If you disabled SSO on a Linux desktop that has multiple desktop environments installed, you do not need to perform any of the previously described steps. The end users have to select their desired desktop environment when they log in to that Linux desktop.
Network Requirements
VMware Blast Extreme supports both User Datagram Protocol (UDP) and Transmission Control Protocol (TCP), and their performances are affected by the network condition. To receive the best user experience, select UDP or TCP based on the network condition.
n
Select TCP if the network condition is good, such as in a local area network (LAN) environment.
n
Select UDP if the network condition is poor, such as in a wide area network (WAN) environment with packet loss and time delay.
Use a network analyzer tool, such as Wireshark, to determine whether VMware Blast Extreme is using TCP or UDP. Use the following set of steps, which use Wireshark, as a reference example.
1 Download and install Wireshark on your Linux VM.
For RHEL/CentOS 6:
sudo yum install wireshark
For Ubuntu 14.04/16.04:
sudo apt install tshark
For SLE 11/12:
sudo zypper install wireshark
2 Connect to the Linux desktop using VMware Horizon Client.
3 Open a terminal window and run the following command, which displays the TCP package or UDP
package used by VMware Blast Extreme.
sudo tshark -i any | grep 22443
VMware, Inc. 17
Setting Up Horizon 7 for Linux Desktops
USB Redirection and Client Drive Redirection (CDR) features are sensitive to network conditions. If the network condition is bad, such as limited bandwidth with time delay and packet loss, the user experience becomes poor. In such condition, the end user might experience one of the following.
n
Copying remote files can be slow. In this situation, transmit smaller sized files instead.
n
USB device does not appear in the remote Linux desktop.
n
USB data does not transfer completely. For example, if you copy a large file, you might get a file smaller in size than the original file.
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. The installer installs the VHCI driver when the USB redirection feature is selected.
Table 18 lists the default kernel versions that the Horizon for Linux installer installs.
Table 18. 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 commands in
Table 19 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
VMware, Inc. 18
Setting Up Horizon 7 for Linux Desktops
Table 19. Compile and Install USB VHCI Driver
Linux
Distribution Steps to Compile and Install USB VHCI Driver
Ubuntu 14.04
Ubuntu 16.04
RHEL/CentOS
6.9
RHEL/CentOS 7
SUSE 11 SP4
SUSE 12 SP2
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
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
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.
a 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
VMware, Inc. 19
Setting Up Horizon 7 for Linux Desktops
Table 19. Compile and Install USB VHCI Driver (Continued)
Linux
Distribution Steps to Compile and Install USB VHCI Driver
b 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.
You can also add Dynamic Kernel Module Support (DKMS) to the VHCI driver using the steps similar to the following example for an Ubuntu 16.04 system.
1 Install the kernel headers.
# apt install linux-headers-`uname -r`
2 Install dkms using the following command.
# apt install dkms
3 Extract and patch the VHCI tar file.
# tar xzvf vhci-hcd-1.15.tar.gz
# cd vhci-hcd-1.15
# patch -p1 <full-path_to_patch-file>
# cd ..
4 Copy the extracted VHCI source files to the /usr/src directory.
# cp -r vhci-hcd-1.15 /usr/src/usb-vhci-hcd-1.15
VMware, Inc. 20
Setting Up Horizon 7 for Linux Desktops
5 Create a file named dkms.conf and place it in the /usr/src/usb-vhci-hcd-1.15 directory.
# touch /usr/src/usb-vhci-hcd-1.15/dkms.conf
6 Add the following contents to the dkms.conf file.
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 Add this VHCI driver in dkms.
# dkms add usb-vhci-hcd/1.15
8 Build the VHCI driver.
# dkms build usb-vhci-hcd/1.15
9 Install the VHCI driver.
# dkms install usb-vhci-hcd/1.15

Virtual Machine Settings for 2D and vSGA Graphics

When you create certain Horizon 7 for Linux virtual machines, you must change the memory settings and configuration parameters to the minimum values recommended.
Virtual machines that are configured to use NVIDIA vDGA use the NVIDIA physical graphic card. Virtual machines that are configured to use NVIDIA GRID vGPU use the NVIDIA virtual graphic card, which is based on the NVIDIA physical graphic accelerator. You do not need to change the Video Memory (vRAM) settings and configuration parameters for these virtual machines.
Virtual machines that are configured to use 2D or vSGA graphics use the VMware virtual graphic card and you must change the following settings for these types of virtual machines:
n
Video Memory (vRAM) settings
n
Configuration parameters
VMware, Inc. 21
Setting Up Horizon 7 for Linux Desktops
n
3D Memory settings
n
vCPU and virtual memory settings for performance requirement
Video Memory (vRAM) Settings
When you create a Linux virtual machine in vSphere Client, configure the vRAM size as shown in
Table 110. Set the vRAM size that is recommended for the number and resolution of the monitors that
you configure for the virtual machine.
Table 110. Recommended vRAM Settings for 2D or vSGA Graphics
Number of
vRAM Size
10 MB 1 1600x1200 or 1680x1050
12 MB 1 1920x1440
32 MB 1 2560x1600
48 MB 2 2048x1536
80 MB 2 2560x1600
Monitors Maximum Resolution
128 MB 3 2560x1600
128 MB 4 2048x1536
These vRAM sizes are the minimum recommendations. If more resources are available on the virtual machine, set the vRAM to larger values for improved video performance.
10 MB is the minimum vRAM size recommendation for a machine that is configured with a single monitor at the lowest resolution.
You must power off the virtual machine to set the number of displays and the amount of video memory to use, as described in Create a Virtual Machine and Install Linux.
Horizon Connection Server 7 does not automatically configure the vRAM settings on Linux virtual machines like it does on Windows virtual machines. You must manually configure the vRAM settings in vSphere Client.
If a Linux virtual machine is configured with a smaller vRAM size than is recommended, the following issues might occur:
n
Desktop sessions might be disconnected right after the initial connection is made.
n
Autofit might fail to work. The desktop is then displayed in a small area of the screen.
If a Linux virtual machine's Number of displays value is less than the actual required count, one or more monitors display blank for the desktop.
If you encounter an autofit issue with the recommended settings, you can specify a larger vRAM size. vSphere Client permits a maximum vRAM size of 128 MB. If your specified size exceeds 128 MB, you must modify the vmx configuration file manually. The following example specifies a vRAM size of 256 MB:
svga.vramSize = "268435456"
VMware, Inc. 22
Setting Up Horizon 7 for Linux Desktops
Configuration Parameters
To display the Linux remote desktop on multiple monitors, you must set certain configuration parameters for the virtual machine. The general steps to set a configuration parameter for a virtual machine are as follows:
1 Power off the virtual machine.
2 In the vSphere Web Client, right-click the virtual machine and select Edit Settings.
3 Click the VM Options tab and click Advanced.
4 Click Edit Configuration and then Add Row.
5 Enter the configuration parameter name and value.
6 Click OK to save the changes.
You must set the following configuration parameters:
n
Set svga.autodetect to false.
svga.autodetect="false"
n
Calculate the svga.maxWidth and svga.maxHeight values according to the number and orientation (horizontal or vertical) of the display monitors. The general rule is that the svga.maxWidth and svga.maxHeight values must be large enough to support all the displays. For example, to support four displays at the maximum resolution of 2560x1600, you must set the following values:
svga.maxHeight="3200"
svga.maxWidth="10240"
If you have multiple monitors, you must set these configuration parameters. Otherwise, you might encounter one or more of the following problems:
n
The desktop is displayed on some of the monitors and the other monitors are blank.
n
A keystroke is displayed multiple times.
n
The desktop becomes slow.
n
The desktop is displayed in a small area of the screen.
Screen Size Limitation of 4096x4096 Monitors
For RHEL 6.8/6.9/7.3/7.4, CentOS 6.8/6.9/7.3/7.4, Ubuntu 16.04, SLED 12 SP2/SP3, and SLES 12 SP2/SP3, the maximum screen size for 2D and vSGA is 4096x4096. When you run the xrandr command, the first line of the output has maximum 4096x4096.
For Ubuntu 14.04, the limitation is also introduced if you install the latest patches from the official Ubuntu repositories.
VMware, Inc. 23
Setting Up Horizon 7 for Linux Desktops
Multiple-monitor connection might require a screen size larger than 4096x4096. To bypass this limitation, use one of the following solutions:
n
If you have to use VMware Hardware version 11 (HWv11) or later for your virtual machine, add the following line into the virtual machine's VMX configuration file:
mks.enable3d = TRUE
With this solution, the Linux operating system can report 3D capabilities to software applications, such as Chrome. However, doing so might impact the Linux system's performance.
n
If your virtual machine can use VMware Hardware version 10, use the following line in your virtual machine's VMX file:
virtualHW.version = "10"
This solution is not applicable for RHEL 6.8 and CentOS 6.8.
To make this solution work on Ubuntu 16.04 systems, you must install the latest patches from the official Ubuntu repositories.
vCPU and Memory Settings
To improve the performance of a 2D or vSGA desktop, set more vCPUs and virtual memory for the Linux virtual machine. For example, set 2 vCPUs and 2 GB of virtual memory.
For the large screen of multiple monitors, such as four monitors, set 4 vCPUs and 4 GB of virtual memory for the virtual machine.
For the video playback purpose in a 2D or vSGA desktop, set 4 vCPUs and 4 GB of virtual memory for the virtual machine.
3D Memory Settings
To improve performance in a vSGA multiple monitor environment, set the 3D Memory setting for the virtual machine to 1 GB or larger.
VMware, Inc. 24
Preparing a Linux Virtual Machine for Desktop
Deployment 2
Setting up a Linux desktop involves creating a Linux virtual machine and preparing the operating system for remote desktop deployment.
This chapter includes the following topics:
n

Create a Virtual Machine and Install Linux

n
Prepare a Linux Machine for Remote Desktop Deployment
n
Install Dependency Packages for Horizon Agent
Create a Virtual Machine and Install Linux
You create a new virtual machine in vCenter Server for each remote desktop that is deployed in Horizon
7. You must install your Linux distribution on the virtual machine.
Prerequisites
n
Verify that your deployment meets the requirements for supporting Linux desktops. See System
Requirements for Horizon 7 for Linux.
n
Familiarize yourself with the steps for creating virtual machines in vCenter Server and installing guest operating systems. See "Creating and Preparing Virtual Machines" in the Setting Up Virtual Desktops in Horizon 7 document.
n
Familiarize yourself with the recommended video memory (vRAM) values for the monitors you will use with the virtual machine. See System Requirements for Horizon 7 for Linux.
Procedure
1 In vSphere Web Client or vSphere Client, create a new virtual machine.
VMware, Inc.
25
Setting Up Horizon 7 for Linux Desktops
2 Configure custom configuration options.
a Right-click the virtual machine and click Edit Settings.
b Specify the number of vCPUs and the vMemory size.
For recommended values, follow the guidelines in the installation guide for your Linux distribution.
For example, Ubuntu 12.04 recommends configuring 2048 MB for vMemory and 2 vCPUs.
c Select Video card and specify the number of displays and the total video memory (vRAM).
Set the vRAM size in vSphere Web Client for virtual machines that use 2D or vSGA, which use the VMware driver. The vRAM size has no affect on vDGA or NVIDIA GRID vGPU machines, which use NVIDIA drivers.
For recommended values, follow the guidelines in System Requirements for Horizon 7 for Linux. Do not use the Video Memory Calculator.
3 Power on the virtual machine and install the Linux distribution.
4 Configure the desktop environment to use for the specific Linux distribution.
See the Desktop Environment section in System Requirements for Horizon 7 for Linux for additional information.
5 Ensure that the system hostname is resolvable to 127.0.0.1.

Prepare a Linux Machine for Remote Desktop Deployment

You must perform certain tasks to prepare a Linux machine for use as a desktop in a Horizon 7 deployment.
Before a Linux machine can be managed by Horizon 7, the machine must be able to communicate with Connection Server. You must configure networking on the Linux machine so that the Linux machine can ping the Connection Server instance using its FQDN (fully qualified domain name).
Open VMware Tools (OVT) are pre-installed on RHEL 7, CentOS 7, SLED 12, and SLES 12 machines. If you are preparing either of these machines for use as a remote desktop, you can skip steps 1 through 5 in the following procedure, which describe how to install VMware Tools by manually running the installer.
If you are using an Ubuntu16.04 machine, install OVT on it. If you are preparing this machine for use as a remote desktop, you can skip steps 1 through 5 in the following procedure and manually install OVT on your Ubuntu 16.04 machine using the following command:
apt-get install open-vm-tools-desktop
Prerequisites
n
Verify that a new virtual machine (VM) was created in vCenter Server and your Linux distribution was installed on the machine
VMware, Inc. 26
Setting Up Horizon 7 for Linux Desktops
n
Familiarize yourself with the steps for mounting and installing VMware Tools on a Linux VM. See "Manually Install or Upgrade VMware Tools in a Linux Virtual Machine" in the vSphere Virtual Machine Administration document.
n
Familiarize yourself with the steps for configuring your Linux machine to be resolvable through DNS. These steps vary for the different Linux distributions and releases. For instructions, consult the documentation for your Linux distribution and release.
Procedure
1 In vSphere Web Client or vSphere Client, mount the VMware Tools virtual disk on the VM.
2 Right-click the VMware Tools installer file, VMwareTools.x.x.x-xxxx.tar.gz, click Extract to, and
select the desktop for your Linux distribution.
The vmware-tools-distrib folder is extracted to the desktop.
3 On the VM, log in as root and open a terminal window.
4 Uncompress the VMware Tools tar installer file.
For example:
tar zxpf /mnt/cdrom/VMwareTools-x.x.x-yyyy.tar.gz
5 Run the installer and configure VMware Tools.
The command might vary slightly in different Linux distributions. For example:
cd vmware-tools-distrib
sudo ./vmware-install.pl -d
Usually, the vmware-config-tools.pl configuration file runs after the installer file finishes running.
6 Map the Linux machine's host name to 127.0.0.1 in the /etc/hosts file.
For RHEL, CentOS, SLES, and SLED, you must manually map the host name to 127.0.0.1 because it is not automatically mapped. For Ubuntu, this step is not necessary because the mapping is there by default. This step is also not necessary when you bulk deploy desktops because the cloning process adds this mapping.
Note If you change the Linux machine's host name after installing Horizon Agent, you must map the
new host name to 127.0.0.1 in the /etc/hosts file. Otherwise, the old host name will continue to be used.
7 For RHEL 7 and CentOS 7, verify that virbr0 is disabled.
virsh net-destroy default
virsh net-undefine default
service libvirtd restart
8 Ensure that the View Connection Server instances in the pod can be resolved through DNS.
VMware, Inc. 27
Setting Up Horizon 7 for Linux Desktops
9 Configure the Linux machine so that the default runlevel is 5.
The runlevel must be 5 for the Linux desktop to work.
10 On an Ubuntu machine that was configured to authenticate with an OpenLDAP server, set the fully
qualified domain name on the machine.
This step ensures that the information can be displayed correctly in the User field on the Sessions page in View Administrator. Edit the /etc/hosts file as follows:
# nano /etc/hosts
a
b Add the fully qualified domain name. For example: 127.0.0.1 hostname.domainname
hostname.
c Exit and save the file.
11 For SUSE, disable Change Hostname via DHCP. Set the hostname or domain name.
a In Yast, click Network Settings.
b Click the Hostname/DNS tab.
c Deselect Change Hostname via DHCP.
d Enter the hostname and the domain name.
e Click OK.
After installing VMware Tools, if you upgrade the Linux kernel, VMware Tools might stop running. To resolve the problem, see http://kb.vmware.com/kb/2050592.

Install Dependency Packages for Horizon Agent

Horizon Agent for Linux has some dependency packages unique to a Linux distribution. You must install these packages before installing Horizon Agent for Linux.
Prerequisites
Verify that a new virtual machine (VM) is created in vCenter Server and your Linux distribution is installed on the machine.
VMware, Inc. 28
Setting Up Horizon 7 for Linux Desktops
Procedure
1 Install the mandatory packages that are not installed or upgraded by default. The installer breaks the
installation if any package does not meet the requirement.
Table 21. Mandatory Dependency Packages
Linux Distribution Packages
SLED 11 SP3/SP4
Upgrade xorg-x11-server to a version later than 7.4.27.111.1
SLES 12 SP1/SLED 12 SP1
Upgrade xf86-video-vmware to a version later than 13.0.2-3.2 from the SUSE repository
SLES 12 Install python-gobject2 is required for SLES 12 Linux desktop when you are installing
Ubuntu 14.04
Upgrade indicator-session to
12.10.5+15.04.20150327, available in
https://launchpad.net/ubuntu/wil y/amd64/indicator­session/12.10.5+15.04.2015032 7-0ubuntu1
zypper install xorg-x11-server
1 Register SUSE 12 to enable the SUSE repositories.
SUSEConnect -r Registration Code -e Email
2 Update the xf86-video-vmware version.
zypper install xf86-video-vmware
Horizon Agent.
1 Register SUSE 12 to enable the SUSE repositories.
SUSEConnect -r Registration Code -e Email
2 Install python-gobject2.
zypper install python-gobject2
wget http://launchpadlibrarian.net/201393830/indicator­session_12.10.5+15.04.20150327-0ubuntu1_amd64.deb
sudo dpkg -i ./indicator­session_12.10.5+15.04.20150327-0ubuntu1_amd64.deb
Ubuntu 16.04
apt-get install python-dbus python-gobject
2 Install the optional package for Horizon Agent.
n
By default, RHEL or CentOS 6.7 has glibc-2.12-1.166.el6.x86_64 installed which might cause a deadlock issue. As a result, the desktop connection is stuck. To overcome this issue, you must upgrade glibc to the latest version from an online repository.
sudo yum install glibc
VMware, Inc. 29
Setting Up Active Directory
Integration for Linux Desktops 3
View uses the existing Microsoft Active Directory (AD) infrastructure for user authentication and management. You can integrate the Linux desktops with Active Directory so that users can log in to a Linux desktop using their Active Directory user account.
This chapter includes the following topics:
n

Integrating Linux with Active Directory

n
Setting Up Single Sign-on and Smart Card Redirection
Integrating Linux with Active Directory
Multiple solutions exist to integrate Linux with Microsoft Active Directory (AD) and Horizon 7 for Linux Desktop has no dependency on which solution is used.
The following solutions are known to work in a Horizon 7 for Linux desktop environment.
n
OpenLDAP Server Pass-through Authentication
n
System Security Services Daemon (SSSD) LDAP Authentication against the Microsoft Active Directory
n
Winbind Domain Join
n
PowerBroker Identity Services Open (PBISO) Authentication
If you use the LDAP-based solutions, you must perform the configuration in a template virtual machine and no additional steps are required in the cloned virtual machines.
Note For ease of deployment, use the SSSD LDAP authentication against the Microsoft Active Directory
solution.
OpenLDAP Server Pass-Through Authentication
At a high level, the OpenLDAP Pass-through authentication solution involves the following steps:
1 To enable LDAPS (Lightweight Directory Access Protocol over SSL), install Certificate Services on
the Active Directory.
2 Set up an OpenLDAP server.
VMware, Inc.
30
Loading...
+ 90 hidden pages