Para instalar Horizon Agent for Linux, debe cumplir ciertos requisitos para el sistema operativo Linux, la máquina virtual Linux, los componentes del sistema Horizon 8 y la plataforma de 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.
| 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.
| Plataforma y software | Versiones compatibles |
|---|---|
| Versión de la plataforma de vSphere |
|
| Entorno de Horizon 8 |
|
| Software de Horizon Client |
|
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 Seguridad de Horizon y la Guía de puertos de red de Horizon 8.
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.
| Nombre de la cuenta | Tipo de cuenta | Usada por |
|---|---|---|
| root | Integrada en Linux OS | Java Standalone Agent, mksvchanserver, scripts de shell |
| <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.
| 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.
-
Instale el sistema operativo de la distribución Linux admitida con la opción predeterminada del entorno de escritorio.
-
Ejecute los comandos adecuados que se describen en la siguiente tabla para su distribución de Linux específica.
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.rpmyum groupinstall -y "MATE Desktop"Ubuntu KDE apt install plasma-desktopUbuntu MATE apt install ubuntu-mate-desktop- 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
viewagent-custom.confy especificar así el entorno de escritorio que se usará con SSO.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
Horizon 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 Horizon Blast Extreme utiliza TCP o UDP. Utilice el siguiente conjunto de pasos, en los que se usa Wireshark, como ejemplo de referencia.
-
Descargue e instale Wireshark en la máquina virtual Linux.
Para RHEL/CentOS y Rocky Linux:
sudo yum install wiresharkPara Ubuntu:
sudo apt install tshark -
Conéctese al escritorio Linux usando Horizon Client.
-
Abra una ventana de terminal y ejecute el siguiente comando, que muestra el paquete de TCP o el paquete de UDP que usa Horizon 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:
- Descargue el código fuente de USB VHCI de https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/.
- 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 directorio del instalador tarball.
- (Instalador RPM) Si descarga el instalador RPM y lo usa para instalar Horizon Agent.
- 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
full-path_to_patch-fileen los comandos con la ruta de archivo que identificó en el paso anterior.
Compile e instale el controlador USB VHCI Distribución de Linux Pasos para compilar e instalar el controlador USB VHCI Ubuntu - Instale los paquetes de dependencia.
<pre><code>sudo apt-get install makesudo apt-get install gcc sudo apt-get install libelf-dev
- (Ubuntu 22.04) Instale los archivos de encabezado del kernel.
<pre><code>sudo apt-get install linux-headers-$(uname -r)</code></pre></li> - Compile e instale el controlador VHCI.
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd vhci-hcd-1.15 patch -p1 < full-path_to_patch-file make clean && make && sudo make install
- 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.
<ol> <li>Cree un par de claves SSL para el controlador VHCI. <pre><code>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</code></pre> </li> <li>Firme el controlador VHCI. <pre><code>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.kosudo /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
- Registre la clave para el arranque seguro UEFI.
<pre><code>sudo mokutil --import MOK.der</code></pre> <strong>Nota:</strong> 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. </li> <li>Para configurar el arranque seguro UEFI en la consola de vSphere, reinicie el sistema. Para obtener más información, consulte <a href="https://sourceware.org/systemtap/wiki/SecureBoot">https://sourceware.org/systemtap/wiki/SecureBoot</a>. </li> </ol></li>
Debian - Instale los paquetes de dependencia.
<pre><code>sudo apt install -y patch g++ make linux-headers-$(uname -r)</code></pre></li> - Compile e instale el controlador VHCI.
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd 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 - Instale los paquetes de dependencia.
<pre><code>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
- Compile e instale el controlador VHCI.
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd vhci-hcd-1.15 patch -p1 < full-path_to_patch-file make clean && make && sudo make install
- (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.
<ol> <li>Cree un par de claves SSL para el controlador VHCI. <pre><code>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</code></pre> </li> <li>Firme el controlador VHCI. <pre><code>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.kosudo /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
- Registre la clave para el arranque seguro UEFI.
<pre><code>sudo mokutil --import MOK.der</code></pre> <strong>Nota:</strong> 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. </li> <li>Para configurar el arranque seguro UEFI en la consola de vSphere, reinicie el sistema. Para obtener más información, consulte <a href="https://sourceware.org/systemtap/wiki/SecureBoot">https://sourceware.org/systemtap/wiki/SecureBoot</a>. </li> </ol></li>
SLED/SLES - Busque la versión del paquete de kernel actual.
<pre><code>rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)</code></pre> El resultado es el nombre del paquete de kernel instalado actualmente. Si, por ejemplo, el nombre del paquete es <code>kernel-default-3.0.101-63.1</code>, la versión actual del paquete del kernel será 3.0.101-63.1.</li> - Instale los paquetes
kernel-devel,kernel-default-devel,kernel-macrosypatch.<pre><code>sudo zypper install --oldpackage kernel-devel-<em><kernel-package-version></em> \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 - Compile e instale el controlador VHCI.
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd 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
- Para garantizar que el controlador de VHCI funcione correctamente con el redireccionamiento USB, configure las opciones de firma para el controlador.
<ol> <li>Cree un par de claves SSL para el controlador VHCI. <pre><code>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</code></pre> </li> <li>Busque la ruta al archivo de firma para el controlador VHCI. <pre><code>sudo find / -name sign-file</code></pre> 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. <pre><code>/usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/</code></pre> </li> <li>Firme el controlador VHCI. En los siguientes comandos, <sign-file-path> es la ruta al archivo de firma que encontró anteriormente en el paso 4b. <pre><code>sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-iocifc.kosudo /<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
- Registre la clave para el arranque seguro UEFI.
<pre><code>sudo mokutil --import MOK.der</code></pre> <strong>Nota:</strong> 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. </li> <li>Para configurar el arranque seguro UEFI en la consola de vSphere, reinicie el sistema. Para obtener más información, consulte <a href="https://sourceware.org/systemtap/wiki/SecureBoot">https://sourceware.org/systemtap/wiki/SecureBoot</a>. </li> </ol></li>
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.
-
Instale los encabezados del kernel.
sudo apt install linux-headers-`uname -r` -
Instale
dkmsmediante el siguiente comando.sudo apt install dkms -
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 .. -
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 -
Cree un archivo llamado
dkms.confy colóquelo en el directorio/usr/src/usb-vhci-hcd-1.15.sudo touch /usr/src/usb-vhci-hcd-1.15/dkms.conf -
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" -
Agregue este controlador VHCI a
dkms.sudo dkms add usb-vhci-hcd/1.15 -
Compile el controlador VHCI.
sudo dkms build usb-vhci-hcd/1.15 -
Instale el controlador VHCI.
sudo dkms install usb-vhci-hcd/1.15
-
¿Le resultó útil esta página?