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 8 y la plataforma de VMware vSphere.

Distribuciones Linux compatibles con Horizon Agent

En la siguiente tabla, se muestran los sistemas operativos Linux que se han probado y son compatibles con Horizon Agent.

Tabla 1. Sistemas operativos Linux compatibles con Horizon Agent
Distribución de Linux Arquitectura
Ubuntu 20.04 y 22.04 x64
Debian 10.13, 11.5, 11.6. y 11.7 x64
Red Hat Enterprise Linux (RHEL) Workstation 7.9, 8.6, 8.7, 8.8, 9.0, 9.1 y 9.2 x64
Red Hat Enterprise Linux (RHEL) Server 7.9, 8.6, 8.7, 8.8, 9.0, 9.1 y 9.2 x64
Rocky Linux 8.8 y 9.2 x64
CentOS 7.9 x64
SUSE Linux Enterprise Desktop (SLED) 15 SP3 y 15 SP4 x64
SUSE Linux Enterprise Server (SLES) 15 SP3 y 15 SP4 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.

El script de instalación de install_viewagent.sh proporciona un parámetro de --force que fuerza la instalación de Horizon Agent en distribuciones Linux que no aparecen en la matriz de compatibilidad de prueba. Consulte Opciones de la línea de comandos para instalar Horizon Agent for Linux.

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 de Horizon Client.

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

Puertos utilizados por escritorios Linux

Para habilitar las sesiones de conexión, los escritorios Linux deben admitir conexiones TCP entrantes desde los dispositivos Horizon Client, Unified Access Gateway y Horizon Connection Server.

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

En distribuciones RHEL, Rocky Linux y CentOS, siempre que sea posible, el script del instalador de Horizon Agent configura el firewall iptables con una directiva de entrada de ACEPTAR. Para garantizar la compatibilidad con las conexiones entrantes, compruebe que iptables tenga una directiva de entrada ACCEPT para las nuevas conexiones a través del puerto Blast 22443.

Si habilita la puerta de enlace segura de Blast (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 no habilita la BSG, las conexiones se realizan directamente desde el dispositivo de Horizon Client hasta el escritorio Linux.

Para obtener más información sobre los puertos usados por Horizon Agent en escritorios Linux, consulte el documento Seguridad de Horizon y la Guía de puertos de red de VMware Horizon.

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 3. 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 demás entornos de escritorio que admite Horizon Agent for Linux.
Tabla 4. Entornos de escritorio compatibles
Distribución de Linux Entorno de escritorio predeterminado Entornos de escritorio compatibles con Horizon Agent for Linux
Ubuntu Gnome Gnome Ubuntu, entorno de escritorio de K (K Desktop Environment, KDE), MATE
Debian Gnome Gnome, KDE, MATE
RHEL y Rocky Linux 8.x/9.x Gnome Gnome
RHEL 7.9 Gnome Gnome, KDE, MATE
CentOS 7.9 Gnome Gnome, KDE
SLED/SLES Gnome Gnome
Nota: 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 5. 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.9 KDE
    yum groupinstall "KDE Plasma Workspaces"
    RHEL 7.9 MATE
    rpm -ivh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm
    
    yum groupinstall -y "MATE Desktop"
    Ubuntu KDE
    apt install plasma-desktop
    Ubuntu MATE
    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 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 6. 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 y Rocky Linux 9.x/8.x, para que el inicio de sesión SSO use Gnome Classic, quite todos los archivos de inicio de los escritorios, excepto el archivo de inicio Gnome Classic, del directorio /usr/share/xsession. Por ejemplo, ejecute el siguiente conjunto de comandos como usuario raíz:
    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 desactivó 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 y Rocky Linux:
    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

Nota: Para determinar la secuencia de instalación correcta para el controlador VHCI, utilice las siguientes directrices:
  • Si quiere instalar Horizon Agent con el instalador tarball .tar.gz , primero debe descargar y descomprime el instalador tarball, instalar el controlador VHCI y, a continuación, instalar Horizon Agent con el parámetro de instalación para la función de redireccionamiento USB.
  • Si quiere instalar Horizon Agent con el instalador RPM .rpm, primero debe instalar Horizon Agent, instalar el controlador VHCI y, a continuación, agregar la función de redireccionamiento USB a la configuración de Horizon Agent.

Si desea obtener más información, consulte Instalar Horizon Agent en una máquina virtual Linux.

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 instalar el controlador VHCI siguiendo estos pasos:

  1. Descargue el código fuente de USB VHCI de https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/.
  2. Identifique la ruta completa al archivo de revisión VHCI, según el formato del instalador de Horizon Agent. Para obtener instrucciones, consulte los siguientes ejemplos.
    • (Instalador tarball) Si descarga y descomprime el instalador tarball VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx.tar.gz en el 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.
    • (Instalador RPM) Si descarga el instalador RPM VMware-horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm y lo usa para instalar Horizon Agent, la ruta-completa_del_archivo-de-revisión es /usr/lib/vmware/viewagent/resources/vhci/patch/vhci.patch.
  3. 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. Reemplace ruta-completa_del_archivo-de-revisión en los comandos con la ruta de archivo que identificó en el paso anterior.
    Por ejemplo, si la ruta del archivo es /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx/resources/vhci/patch/vhci.patch, el comando patch será:
    patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxxi/resources/vhci/patch/vhci.patch
Tabla 7. Compile e instale el controlador USB VHCI
Distribución de Linux Pasos para compilar e instalar el controlador USB VHCI
Ubuntu
  1. Instale los paquetes de dependencia.
    sudo apt-get install make
    sudo apt-get install gcc
    sudo apt-get install libelf-dev
  2. (Ubuntu 22.04) Instale los archivos de encabezado del kernel.
    sudo apt-get install linux-headers-$(uname -r)
  3. Compile e instale el controlador VHCI.
    tar -xzvf vhci-hcd-1.15.tar.gz
    cd vhci-hcd-1.15
    patch -p1 < full-path_to_patch-file
    make clean && make && sudo make install
  4. Si habilitó la interfaz de firmware extensible (EFI) y el arranque seguro UEFI en la máquina virtual, configure los ajustes de firma para el controlador VHCI.
    1. Cree un par de claves SSL para el controlador VHCI.
      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 VHCI.
      sudo /usr/src/linux-headers-$(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/linux-headers-$(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.
Debian
  1. Instale los paquetes de dependencia.
    sudo  apt install -y  patch g++ make linux-headers-$(uname -r)
  2. Compile e instale el controlador 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 && sudo make install

RHEL/CentOS 7.x

RHEL 8.x/9.x

Rocky Linux 8.x/9.x

  1. Instale los paquetes de dependencia.
    sudo yum install gcc-c++
    sudo yum install kernel-devel-$(uname -r)
    sudo yum install kernel-headers-$(uname -r)
    sudo yum install patch
    sudo yum install elfutils-libelf-devel
  2. Compile e instale el controlador VHCI.
    tar -xzvf vhci-hcd-1.15.tar.gz
    cd vhci-hcd-1.15
    patch -p1 < full-path_to_patch-file
    make clean && make && sudo make install
  3. (RHEL y Rocky Linux 9.x/8.x) Para garantizar que el controlador de VHCI funcione correctamente con el redireccionamiento USB, configure las opciones de firma para el controlador.
    1. Cree un par de claves SSL para el controlador VHCI.
      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 VHCI.
      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

  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.
    sudo zypper install --oldpackage kernel-devel-<kernel-package-version> \
    kernel-default-devel-<kernel-package-version> kernel-macros-<kernel-package-version> patch
    Por ejemplo:
    sudo 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 el controlador 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 && sudo make install
  4. Para garantizar que el controlador de VHCI funcione correctamente con el redireccionamiento USB, configure las opciones de firma para el controlador.
    1. Cree un par de claves SSL para el controlador VHCI.
      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 VHCI.
      sudo 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 VHCI es similar al siguiente ejemplo.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. Firme el controlador VHCI. 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 Agent 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.
      sudo apt install linux-headers-`uname -r`
    2. Instale dkms mediante el siguiente comando.
      sudo 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.
      sudo 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.
      sudo 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.
      sudo dkms add usb-vhci-hcd/1.15
    8. Compile el controlador VHCI.
      sudo dkms build usb-vhci-hcd/1.15
    9. Instale el controlador VHCI.
      sudo dkms install usb-vhci-hcd/1.15