Para instalar Horizon 7 for Linux, el sistema Linux debe cumplir ciertos requisitos de sistema operativo, de Horizon 7 y de la plataforma 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 16.04, 18.04 y 20.04
Nota: Ubuntu 16.04 no es compatible con Horizon Agent 7.13.1 y versiones posteriores.
Nota: Debe aplicar una de las soluciones descritas en el artículo de la base de conocimientos de VMware http://kb.vmware.com/kb/2151294.
x64

Red Hat Enterprise Linux (RHEL) Workstation 6.6, 6.7, 6.8, 6.9, 6.10, 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

Nota: Se aplican los siguientes requisitos:
  • Para poder usar RHEL Workstation 7.9, debe instalar Horizon Agent 7.13.1 o una versión posterior.
  • Para poder usar RHEL Workstation 8.3/8.4, debe instalar Horizon Agent 7.13.2 o versiones posteriores.
x64

CentOS 6.6, 6.7, 6.8, 6.9, 6.10, 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

Nota: Se aplican los siguientes requisitos:
  • Para poder usar CentOS 7.9, debe instalar Horizon Agent 7.13.1 o versiones posteriores.
  • CentOS 8.x no es compatible con Horizon Agent 7.13.2 y versiones posteriores.
x64
NeoKylin 6 Update 1 x64
SLED 12.x SP1/SP2/SP3 x64
SLES 12.x SP1/SP2/SP3/SP5 x64
Nota: El agente de Linux tiene paquetes de dependencia en algunas distribuciones de Linux. Consulte Instalar paquetes de dependencia para Horizon Agent para obtener más información.
Nota: En los sistemas RHEL/CentOS 8.x, Horizon Agent solo admite el protocolo de servidor de visualización X11. No se admite el protocolo Wayland.

Plataforma requerida y versiones del software Horizon 7

Para instalar y usar Horizon 7 for Linux, la implementación debe cumplir ciertos requisitos de la plataforma vSphere, de Horizon 7 y del software Horizon Client.

Tabla 2. Plataforma requerida y versiones del software Horizon 7
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
  • Servidor de conexión de Horizon 7.13
Software de Horizon Client
  • Horizon Client 5.5.0 para Android
  • Horizon Client 5.5.0 para Windows
  • Horizon Client 5.5.0 para Linux
  • Horizon Client 5.5.0 para Mac OS X
  • Horizon Client 5.5.0 para iOS (iPad Pro)
  • HTML Access 5.5.0 en Chrome, Firefox e Internet Explorer
  • No se admiten clientes cero.

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

Horizon Agent y Horizon Client usan puertos TCP o UDP para acceder a la red entre ellos y varios componentes de Horizon 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 no se utiliza
Servidor de seguridad, Servidor de conexión de Horizon o dispositivo Access Point * Agente Linux 22443 TCP/UDP Blast, si la puerta de enlace segura Blast se utiliza
Horizon Agent * Servidor de conexión de Horizon 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 en Horizon Client y Agent y la guía Puertos de red de VMware Horizon 7.

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, el servidor de seguridad y Horizon Connection Server.

En distribuciones de Ubuntu y Kylin, 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 un servidor de seguridad o 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

Nombre y tipo de cuenta muestra el nombre y el tipo de las cuentas 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 7 for Linux es compatible con varios entornos de escritorio en distribuciones de Linux diferentes. Entornos de escritorio compatibles muestra los entornos de escritorio predeterminados para cada distribución Linux y los entornos de escritorio adicionales que admite Horizon 7 for Linux.
Tabla 5. Entornos de escritorio compatibles
Distribución de Linux Entorno de escritorio predeterminado Entornos de escritorio compatibles con los escritorios Horizon 7 for Linux
Ubuntu 18.04/20.04 Gnome Gnome Ubuntu, entorno de escritorio de K (K Desktop Environment, KDE), MATE
Ubuntu 16.04 Unity Gnome Flashback (Metacity), KDE, MATE
RHEL/CentOS 6.x Gnome Gnome, KDE
RHEL/CentOS 7.x Gnome Gnome, KDE
RHEL/CentOS 8.x Gnome Gnome
SLED 12 SP1/SP2/SP3 Gnome Gnome
SLES 12 SP1/SP2/SP3/SP5 Gnome Gnome
NeoKylin 6 Update 1 Mate Mate
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.
Nota: 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 20.04/18.04/16.04, SSO no puede desbloquear una sesión KDE bloqueada. Debe proporcionar manualmente la contraseña para desbloquear la sesión.

  1. Instale el sistema operativo de la distribución Linux admitida con la opción predeterminada del entorno de escritorio.
  2. Ejecute los comandos de Comandos para instalar los entornos de escritorios adecuados para su distribución de Linux.
    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 6.x KDE
    # yum	groupinstall "X Window System" "KDE Desktop"
    RHEL/CentOS 7.x KDE
    # yum	groupinstall "KDE Plasma Workspaces"
    Ubuntu 20.04/18.04/16.04 KDE
    # apt install plasma-desktop
    Ubuntu 20.04/18.04 MATE
    # apt install	ubuntu-mate-desktop
    Ubuntu 16.04 MATE
    # apt-add-repository ppa:ubuntu-mate-dev/xenial-mate 
    # apt update
    # apt upgrade
    # apt install	mate
    # apt install	ubuntu-mate-themes
    Ubuntu 16.04 Gnome Flashback (Metacity)
    # apt install gnome-session-flashback
  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/16.04 y RHEL/CentOS 7.x, use la información que aparece en Opción SSODesktopType 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 6.x, para que el inicio de sesión SSO use KDE, elimine todos los archivos de inicio de los escritorios, excepto el archivo de inicio KDE, del directorio /usr/share/xsession. Use el siguiente conjunto de comandos como ejemplo.
    # cd /usr/share/xsessions
    # mkdir backup
    # mv *.desktop backup
    # mv backup/kde*.desktop ./
    Después de establecer la configuración inicial, el usuario final debe cerrar sesión o reiniciar el escritorio Linux para que KDE sea el escritorio predeterminado en la siguiente sesión SSO.
  • 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 deshabilitó 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 6:
    sudo yum install wireshark
    Para Ubuntu 20.04/18.04/16.04:
    sudo apt install tshark
    Para SLED/SLES 12:
    sudo zypper install wireshark
  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 binario resultante en el sistema Linux, use los comandos incluidos en la tabla que se muestra después de estos pasos.
    Por ejemplo, si descomprime el archivo de instalación, VMware-horizonagent-linux-x86_64-<versión>-<número-de-compilación>.tar.gz del directorio /install_tmp/, la ruta-completa_del_archivo-de-revisión es /install_tmp/VMware-horizonagent-linux-x86_64-<versión>-<númerodecompilación>/resources/vhci/patch/vhci.patch y el comando patch que se debe usar es:
    # patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<build-number>/resources/vhci/patch/vhci.patch
Nota: La instalación del controlador VHCI se debe realizar antes de instalar Horizon 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

Ubuntu 16.04

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 6.9/6.10

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 SP2

  1. Descubra la versión del paquete del 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

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 20.04/18.04/16.04.
    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