Para instalar Horizon Agent for Linux, debe cumplir ciertos requisitos para el sistema operativo Linux, la máquina virtual Linux, los componentes del sistema VMware Horizon y la plataforma de vSphere.

Versiones de Linux que admiten Horizon Agent

En la siguiente tabla, se muestran los sistemas operativos Linux compatibles con Horizon Agent.

Tabla 1. Sistemas operativos Linux que admiten Horizon Agent
Distribución de Linux Arquitectura
Ubuntu 20.04 y 18.04 x64
Red Hat Enterprise Linux (RHEL) Workstation 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3 y 8.4 x64
Red Hat Enterprise Linux (RHEL) Server 7.8, 7.9, 8.2, 8.3 y 8.4 x64
CentOS 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3 y 8.4 x64
SUSE Linux Enterprise Desktop (SLED) 12 SP3, 15 SP1 y 15 SP2 x64
SUSE Linux Enterprise Server (SLES) 12 SP3, 12 SP5, 15 SP1 y 15 SP2 x64
Nota: Horizon Agent tiene paquetes de dependencia en algunas distribuciones de Linux. Consulte Instalar paquetes de dependencia para Horizon Agent para obtener más información.

Algunas funciones son compatibles con un subconjunto limitado de sistemas operativos Linux. Para obtener más información, consulte la sección de este documento que analiza la función específica.

Plataforma requerida y versiones del software

Para instalar y usar Horizon Agent for Linux, la implementación debe cumplir ciertos requisitos de la plataforma vSphere, Horizon Connection Server y el software Horizon Client.

Tabla 2. Plataforma requerida y versiones del software VMware Horizon
Plataforma y software Versiones compatibles
Versión de la plataforma de vSphere
  • vSphere 6.0 U2 o una versión posterior
  • vSphere 6.5 U1 o una versión posterior
  • vSphere 6.7 o una versión posterior
Entorno de Horizon
  • Horizon Connection Server 2106
Software de Horizon Client
  • Horizon Client para Android 2106
  • Horizon Client para Windows 2106
  • Horizon Client para Linux 2106
  • Horizon Client para Mac 2106
  • Horizon Client para iOS 2106
  • HTML Access 2106 en Chrome y Firefox
  • Clientes cero que admiten el protocolo VMware Blast
    Nota: No se admiten clientes cero Teradici PCoIP.

Puertos TCP/UDP que usan las máquinas virtuales Linux

Horizon 8 Agent y Horizon Client usan puertos TCP o UDP para acceder a la red entre ellos y varios componentes de Horizon 8 Server.

Tabla 3. Puertos TCP/UDP que usan las máquinas virtuales Linux
Origen Puerto Destino Puerto Protocolo Descripción
Horizon Client * Agente Linux 22443 TCP/UDP Blast, si la puerta de enlace segura Blast se utiliza
Servidor de conexión de Horizon 8 o dispositivo de Unified Access Gateway * Agente Linux 22443 TCP/UDP Blast, si la puerta de enlace segura Blast se utiliza
Horizon 8 Agent * Servidor de conexión de Horizon 8 4001, 4002 TCP Tráfico SSL de JMS
Nota: Para obtener más información sobre los puertos TCP y UDP utilizados por los clientes, consulte el documento Seguridad de Horizon y la Guía de puertos de red de VMware Horizon.

Para permitir a los usuarios conectarse a sus escritorios Linux, estos deben ser capaces de aceptar conexiones TCP entrantes desde los dispositivos de Horizon Client, Unified Access Gateway y Horizon Connection Server.

En distribuciones de Ubuntu, el firewall iptables está configurado de forma predeterminada con una directiva de entrada de ACEPTAR.

En distribuciones de RHEL y CentOS, siempre que sea posible, el script del instalador de Horizon Agent configura el firewall iptables con una directiva de entrada de ACEPTAR.

Asegúrese de que iptables de un sistema operativo invitado con RHEL o CentOS tenga una directiva de entrada que sea ACEPTAR con respecto a las nuevas conexiones procedentes del puerto de Blast, que es el 22443.

Cuando está habilitada la BSG, las conexiones de cliente se dirigen desde un dispositivo de Horizon Client a través de la BSG en el Horizon Connection Server hasta el escritorio Linux. Cuando la BSG no está habilitada, las conexiones se realizan directamente desde el dispositivo de Horizon Client hasta el escritorio Linux.

Verificar la cuenta Linux que usan las máquinas virtuales

La siguiente tabla muestra el nombre y el tipo de la cuenta que usan las máquinas virtuales Linux.

Tabla 4. Nombre y tipo de cuenta
Nombre de la cuenta Tipo de cuenta Usada por
raíz Integrada en Linux OS Java Standalone Agent, mksvchanserver, scripts de shell
vmwblast Creada por el instalador del agente de Linux VMwareBlastServer
<usuario con la sesión iniciada> Linux OS integrado, usuarios de AD o de LDAP Script python

Entorno de escritorios

Horizon Agent for Linux es compatible con varios entornos de escritorio en distribuciones de Linux diferentes. La siguiente tabla muestra los entornos de escritorio predeterminados para cada distribución Linux y los entornos de escritorio adicionales que admite Horizon Agent for Linux.
Tabla 5. Entornos de escritorio compatibles
Distribución de Linux Entorno de escritorio predeterminado Entornos de escritorio compatibles con Horizon Agent for Linux
Ubuntu 20.04/18.04 Gnome Gnome Ubuntu, entorno de escritorio de K (K Desktop Environment, KDE), MATE
RHEL/CentOS 7.x Gnome Gnome, KDE
RHEL/CentOS 8.x Gnome Gnome
SLED/SLES Gnome Gnome
Nota: Gnome Display Manager (GDM) es el único administrador de pantallas compatible con escritorios Linux. Para obtener más información, consulte este artículo 87459 de la base de conocimientos.

Single Sign-On (SSO) para KDE y para el entorno de escritorio MATE solo funciona cuando el escritorio Linux utiliza la pantalla de inicio de sesión de GDM3. Debe instalar KDE y MATE con los comandos que aparecen en Comandos para instalar los entornos de escritorios.

Cuando use RHEL/CentOS 7.x y las distribuciones Ubuntu, SSO no puede desbloquear una sesión KDE bloqueada. Debe proporcionar manualmente la contraseña para desbloquear la sesión.

Para cambiar el entorno de escritorio predeterminado que se usa en una de las distribuciones Linux admitidas, debe usar los pasos y comandos que aparecen a continuación y que son más apropiados para su escritorio Linux.

  1. Instale el sistema operativo de la distribución Linux admitida con la opción predeterminada del entorno de escritorio.
  2. Ejecute los comandos adecuados que se describen en la siguiente tabla para su distribución de Linux específica.
    Tabla 6. Comandos para instalar los entornos de escritorios
    Distribución de Linux Nuevo entorno de escritorio predeterminado Comandos para cambiar el entorno de escritorio predeterminado
    RHEL/CentOS 7.x KDE
    # yum groupinstall "KDE Plasma Workspaces"
    Ubuntu 20.04/18.04 KDE
    # apt install plasma-desktop
    Ubuntu 20.04/18.04 MATE 1.225
    # apt install ubuntu-mate-desktop
  3. Reinicie el escritorio para comenzar a usar el nuevo entorno de escritorio predeterminado.
Si habilitó SSO en un escritorio Linux que tuviera instalados varios entornos de escritorio, utilice la siguiente información para seleccionar el entorno de escritorio que se usará en una sesión SSO.
  • En Ubuntu 20.04/18.04 y RHEL/CentOS 7.x, use la información que aparece en siguiente tabla para establecer la opción SSODesktopType en el archivo /etc/vmware/viewagent-custom.conf y especificar así el entorno de escritorio que se usará con SSO.
    Tabla 7. Opción SSODesktopType
    Tipo de escritorio Opción de configuración SSODesktopType
    MATE SSODesktopType=UseMATE
    GnomeUbuntu SSODesktopType=UseGnomeUbuntu
    GnomeFlashback SSODesktopType=UseGnomeFlashback
    KDE SSODesktopType=UseKdePlasma
    GnomeClassic SSODesktopType=UseGnomeClassic
  • En RHEL/CentOS 8.x, para que el inicio de sesión SSO use Gnome Classic, elimine todos los archivos de inicio de los escritorios, excepto el archivo de inicio Gnome Classic, del directorio /usr/share/xsession. Use el siguiente conjunto de comandos como ejemplo.
    # cd /usr/share/xsessions
    # mkdir backup
    # mv *.desktop backup
    # mv backup/gnome-classic.desktop ./
    Después de establecer la configuración inicial, el usuario final debe cerrar sesión o reiniciar el escritorio Linux para que Gnome Classic sea el escritorio predeterminado en la siguiente sesión SSO.

Si desactiva SSO en un escritorio Linux que tenga varios entornos de escritorios instalados, no es necesario que realice los pasos anteriores. Los usuarios finales tienen que seleccionar el entorno de escritorio que quieran utilizar cuando inician sesión en ese escritorio Linux.

Requisitos de red

VMware Blast Extreme admite el protocolo de datagramas de usuario (UDP) y el protocolo de control de transmisión (TCP). Las condiciones de red afectan al rendimiento de UDP y TCP. Para obtener una experiencia de usuario mejorada, seleccione UDP o TCP dependiendo de la condición de red.
  • Seleccione TCP si la condición de red es buena, por ejemplo, un entorno de red de área local (Local Area Network, LAN).
  • Seleccione UDP si la condición de red es deficiente, por ejemplo, un entorno de red de área extensa (Wide Area Network, WAN) con pérdida de paquetes y retraso temporal.
Utilice una herramienta para analizar la red, como Wireshark, para determinar si VMware Blast Extreme utiliza TCP o UDP. Utilice el siguiente conjunto de pasos, en los que se usa Wireshark, como ejemplo de referencia.
  1. Descargue e instale Wireshark en la máquina virtual Linux.
    Para RHEL/CentOS:
    sudo yum install wireshark
    Para Ubuntu:
    sudo apt install tshark
  2. Conéctese al escritorio Linux usando VMware Horizon Client.
  3. Abra una ventana de terminal y ejecute el siguiente comando, que muestra el paquete de TCP o el paquete de UDP que usa VMware Blast Extreme.
    sudo tshark -i any | grep 22443
Las condiciones de red afectan a las funciones Redireccionamiento USB y Redireccionamiento de unidades cliente (Client Drive Redirection, CDR). Si la condición de red es deficiente, por ejemplo, un ancho de banda limitado con retrasos y pérdida de paquetes, la experiencia de usuario pierde calidad. En dicha condición, el usuario final puede experimentar una de las siguientes situaciones.
  • El proceso de copiar archivos remotos es lento. Por ello, envíe archivos de menor tamaño en su lugar.
  • El dispositivo USB no aparece en el escritorio remoto Linux.
  • Los datos USB no se envían completamente. Por ejemplo, si copia un archivo de gran tamaño, es posible que el archivo que pegue tenga un tamaño menor al original.

Controlador VHCI para el redireccionamiento USB

La función de redireccionamiento USB depende del controlador del kernel USB Virtual Host Controller Interface (VHCI). Para poder usar USB 3.0 y la función de redireccionamiento USB, debe realizar los siguientes pasos:

  1. Descargue el código fuente de USB VHCI de https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/.
  2. Para compilar el código fuente del controlador VHCI e instalar el archivo binario resultante en el sistema Linux, utilice los comandos de la siguiente tabla.
    Por ejemplo, si descomprime el archivo de instalación VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx.tar.gz del directorio /install_tmp/, la ruta-completa_del_archivo-de-revisión es /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx/resources/vhci/patch/vhci.patch y el comando patch que se debe usar es
    # patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxxi/resources/vhci/patch/vhci.patch
Nota: La instalación del controlador VHCI se debe realizar antes de instalar Horizon 8 for Linux.
Tabla 8. Compile e instale el controlador USB VHCI
Distribución de Linux Pasos para compilar e instalar el controlador USB VHCI
Ubuntu 20.04/18.04
  1. Instale los paquetes de dependencia.
    # apt-get install make
    # apt-get install gcc
    # apt-get install libelf-dev
  2. Compile e instale los controladores de VHCI.
    # 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 7.x

RHEL/CentOS 8.x

  1. Instale los paquetes de dependencia.
    # 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. Compile e instale los controladores de VHCI.
    # 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) Para garantizar que los controladores de VHCI funcionen correctamente con el redireccionamiento USB, configure las opciones de firma para el controlador USB.
    1. Cree un par de claves SSL para el controlador USB.
      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. Firme el controlador USB.
      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. Registre la clave para el arranque seguro UEFI.
      sudo mokutil --import MOK.der
      Nota: Este comando envía una solicitud para establecer una contraseña de la clave de propietario de la máquina (MOK) para el arranque seguro UEFI.
    4. Para configurar el arranque seguro UEFI en la consola de vSphere, reinicie el sistema. Para obtener más información, consulte https://sourceware.org/systemtap/wiki/SecureBoot.

SLED/SLES 12.x

SLED/SLES 15.x

  1. Busque la versión del paquete de kernel actual.
    # rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    El resultado es el nombre del paquete de kernel instalado actualmente. Si, por ejemplo, el nombre del paquete es kernel-default-3.0.101-63.1, la versión actual del paquete del kernel será 3.0.101-63.1.

  2. Instale los paquetes kernel-devel, kernel-default-devel, kernel-macros y patch.
    # zypper install --oldpackage kernel-devel-<kernel-package-version> \
    kernel-default-devel-<kernel-package-version> kernel-macros-<kernel-package-version> patch
    Por ejemplo:
    # 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 e instale los controladores de VHCI.
    # 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
  4. (SLED/SLES 15.x) Para garantizar que los controladores de VHCI funcionen correctamente con el redireccionamiento USB, configure las opciones de firma para el controlador USB.
    1. Cree un par de claves SSL para el controlador USB.
      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. Busque la ruta al archivo de firma para el controlador USB.
      find / -name sign-file

      Este comando devuelve las rutas de acceso a todos los archivos de firma ubicados en el sistema. La ruta del archivo de firma para el controlador USB es similar al siguiente ejemplo.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. Firme el controlador USB. En los siguientes comandos, <ruta-archivo-firma> es la ruta al archivo de firma que encontró anteriormente en el paso 4b.
      # sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-iocifc.ko
      # sudo /<sign-file-path>/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-hcd.ko
    4. Registre la clave para el arranque seguro UEFI.
      # sudo mokutil --import MOK.der
      Nota: Este comando envía una solicitud para establecer una contraseña de la clave de propietario de la máquina (MOK) para el arranque seguro UEFI.
    5. Para configurar el arranque seguro UEFI en la consola de vSphere, reinicie el sistema. Para obtener más información, consulte https://sourceware.org/systemtap/wiki/SecureBoot.

Además, siga estas directrices:

  • Si el kernel de Linux cambia a una nueva versión, deberá volver a compilar e instalar el controlador VHCI, pero no es necesario que vuelva a instalar Horizon for Linux.
  • También puede agregar Dynamic Kernel Module Support (DKMS) al controlador VHCI siguiendo pasos similares a los que aparecen en este ejemplo para un sistema Ubuntu.
    1. Instale los encabezados del kernel.
      # apt install linux-headers-`uname -r`
    2. Instale dkms mediante el siguiente comando.
      # apt install dkms
    3. Extraiga el archivo TAR de VHCI y aplique las revisiones.
      # tar xzvf vhci-hcd-1.15.tar.gz
      # cd vhci-hcd-1.15
      # patch -p1 <full-path_to_patch-file>
      # cd ..
    4. Copie los archivos de origen de VHCI extraídos al directorio /usr/src.
      # cp -r vhci-hcd-1.15 /usr/src/usb-vhci-hcd-1.15
    5. Cree un archivo llamado dkms.conf y colóquelo en el directorio /usr/src/usb-vhci-hcd-1.15.
      # touch /usr/src/usb-vhci-hcd-1.15/dkms.conf
    6. Agregue los siguientes contenidos al archivo dkms.conf.
      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. Agregue este controlador VHCI a dkms.
      # dkms add usb-vhci-hcd/1.15
    8. Compile el controlador VHCI.
      # dkms build usb-vhci-hcd/1.15
    9. Instale el controlador VHCI.
      # dkms install usb-vhci-hcd/1.15