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

To prepare a Linux machine, you must enable communication between the machine and the Horizon 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 a few more preparation steps.

Prerequisites

  • Verify that you have created a new virtual machine (VM) in vCenter Server and installed your guest Linux distribution on the machine. See Create a Virtual Machine and Install Linux.
    Note: 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 7.9/8.x/9.x
    • Rocky Linux 8.x/9.x
    • Ubuntu 20.04/22.04
    • Debian 10.x/11.x
  • Configure an Active Directory domain controller for your remote desktops. For more information, see the Horizon 8 Installation and Upgrade document on the VMware Horizon Documentation portal.
  • To make sure that desktop users are added to the local Remote Desktop Users group of the virtual machine, create a restricted Remote Desktop Users group in Active Directory. For more information, see the Horizon 8 Installation and Upgrade document on the VMware Horizon Documentation portal.
  • If you plan to configure 3D graphics rendering for desktop pools, familiarize yourself with the Enable 3D Support setting for virtual machines. On ESXi hosts, you can select options that determine how the 3D renderer is managed on the ESXi host. For details, see the vSphere Virtual Machine Administration document on the VMware vSphere Documentation portal.
  • 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. Map the Linux machine's host name to 127.0.0.1 in the /etc/hosts file.
    For RHEL, Rocky Linux, CentOS, SLES, and SLED, you must manually map the host name to 127.0.0.1 because it is not automatically mapped. For Ubuntu/Debian, 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.
  2. Ensure that the Linux machine is synchronized to a reliable time source.

    Guests must use only one method of time synchronization.

    In general, guests can use the VMware Tools time synchronization method in preference to other methods of time synchronization. The VMware Tools online help provides information on configuring time synchronization between guest and host.

    Important: Hosts that are being relied upon for time synchronization must themselves be synchronized to a reliable time source, using the built-in NTP client. Verify that all hosts in a cluster use the same time source.
    Note: Domain controllers can use either VMware Tools time synchronization or another reliable time source. All domain controllers within a forest and domain controllers across forests with inter-forest trusts must be configured to use the same time source.
  3. Install service packs and updates to the guest Linux distribution.
  4. Install antivirus software on the Linux machine.
  5. Install other required software, such as smart card drivers if you are using smart card authentication.
  6. If a proxy server is used in your network environment, configure network proxy settings.
  7. Configure network connection properties.
    1. Assign a static IP address or specify that an IP address is assigned by a DHCP server.
      VMware Horizon 8 does not support link-local (169.254.x.x) addresses for Horizon 8 desktops.
    2. Set the preferred and alternate DNS server addresses to your Active Directory server address.
  8. To prepare the Linux machine for use in an automated instant-clone farm, in vSphere Client, deactivate the vApp Options setting on the virtual machine.
  9. (RHEL, Rocky Linux, and CentOS only) Verify that virbr0 is deactivated.
    sudo virsh net-destroy default
    sudo virsh net-undefine default
    sudo service libvirtd restart
  10. Ensure that the Horizon Connection Server instances in the pod can be resolved through DNS.
  11. 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.
    sudo systemctl set-default graphical.target
  12. (Ubuntu/Debian 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.
  13. (SLED/SLES only) Deactivate 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.
  14. To prepare a virtual machine for use as a multi-session host in a farm, install the required software packages.
    • For RHEL Workstation:
      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/Debian:
      sudo apt-get install liburiparser1
  15. 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 
  16. 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.