You must perform certain tasks to prepare a Linux machine for use as a desktop in a VMware Horizon deployment.

To prepare a Linux machine for a VMware Horizon deployment, you must enable communication between the machine and the 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).

If you are preparing the Linux machine for use as a multi-session host for a published desktop or application pool, you must perform several additional preparation steps.

Prerequisites

  • Verify that a new virtual machine (VM) was created in vCenter Server and your Linux distribution was installed on the machine.
  • If you are preparing the Linux machine for use as a multi-session host, verify that one of the following required distributions is installed on the machine:
    • RHEL Workstation 8.x/7.x
    • Ubuntu 20.04/18.04
  • 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.

If you are preparing the Linux machine for deployment as an automated full-clone or instant-clone desktop pool or for inclusion in an automated instant-clone farm, you must also do the following:

  • Verify that the virtual switch that the instant-clone VMs connect to has enough ports to support the expected number of VMs. Each network card on a VM requires one port.
  • To support instant-clone desktop pools or farms, verify that you have added an instant-clone domain administrator in Horizon Console.

Procedure

  1. On an Ubuntu machine, manually install VMware Tools by using the following command:
    apt-get install open-vm-tools-desktop
    Note: VMware Tools is pre-installed on RHEL/CentOS and SLED/SLES machines.
    Note: If you upgrade the Linux kernel after installing VMware Tools, VMware Tools might stop running. To resolve the problem, refer to VMware KB article 2050592.
  2. 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.
    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 continues to be used.
  3. To prepare the virtual machine for use in an automated instant-clone farm, in vSphere Client, disable the vApp Options setting on the virtual machine.
  4. (RHEL and CentOS only) Verify that virbr0 is disabled.
    virsh net-destroy default
    virsh net-undefine default
    service libvirtd restart
  5. Ensure that the Horizon Connection Server instances in the pod can be resolved through DNS.
  6. Configure the Linux machine to run in graphical mode by default.
    For example, the following command configures a CentOS machine to run in graphical mode.
    systemctl set-default graphical.target
  7. (Ubuntu only) If the machine is configured to authenticate with an OpenLDAP server, set the FQDN on the machine.
    This step ensures that the information can be displayed correctly in the User field on the Sessions page in Horizon Console. Edit the /etc/hosts file as follows:
    1. # nano /etc/hosts
    2. Add the FQDN. For example: 127.0.0.1 hostname.domainname hostname.
    3. Exit and save the file.
  8. (SLED/SLES only) Disable Change Hostname via DHCP. Then set the static hostname and domain name.
    1. In Yast, click Network Settings.
    2. Click the Hostname/DNS tab.
    3. Deselect Change Hostname via DHCP.
    4. Enter the hostname and the domain name.
    5. Click OK.
  9. To prepare a virtual machine for use as a multi-session host in a farm, install the required software packages.
    • For RHEL Workstation 8.x/7.x:
      sudo yum install http://mirror.centos.org/centos/7/os/x86_64/Packages/cpptest-1.1.1-9.el7.x86_64.rpm
      sudo yum install https://rpmfind.net/linux/centos/7.8.2003/os/x86_64/Packages/uriparser-0.7.5-10.el7.x86_64.rpm
      
    • For Ubuntu 20.04/18.04:
      apt-get install liburiparser1
  10. Install Horizon Agent on the machine, as described in Install Horizon Agent on a Linux Virtual Machine. Ensure that you include the appropriate parameters in the installation script to install or enable required features, as described in Command-Line Options for Installing Horizon Agent for Linux. For example:
    • To prepare the virtual machine for inclusion in an automated instant-clone farm, use the following installation script:
      sudo ./install_viewagent.sh --multiple-session
    • To prepare the virtual machine for inclusion in a manual farm, use the following installation script:
      sudo ./install_viewagent.sh --multiple-session -M no 
  11. To prepare the golden-image virtual machine for an instant-clone floating desktop pool or automated instant-clone farm, use vSphere Client to take a snapshot of the virtual machine in its powered-down state. This snapshot is used as the baseline configuration for the first set of instant-clone machines that are anchored to the virtual machine.
    For more information, see "Take a Snapshot in the VMware Host Client" in vSphere Single Host Management - VMware Host Client, available from VMware vSphere Documentation.
    Important: Before you take a snapshot, completely shut down the golden-image virtual machine by using the shutdown or power-off command in the Linux operating system.