Para instalar o Horizon Agent para Linux, você deve atender a determinados requisitos para o sistema operacional Linux, a máquina virtual Linux, os componentes do sistema VMware Horizon e a plataforma vSphere.

Versões do Linux compatíveis com Horizon Agent

A tabela a seguir lista os sistemas operacionais Linux que foram testados e são compatíveis com o Horizon Agent.

Tabela 1. Sistemas operacionais Linux compatíveis com Horizon Agent
Distribuição Linux Arquitetura
Ubuntu 20.04 e 18.04 x64
Red Hat Enterprise Linux (RHEL) Workstation 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3 e 8.4 x64
Red Hat Enterprise Linux (RHEL) Server 7.8, 7.9, 8.3 e 8.4 x64
CentOS 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3 e 8.4 x64
SUSE Linux Enterprise Desktop (SLED) 12 SP3, 15 SP1, 15 SP2 e 15 SP3 x64
SUSE Linux Enterprise Server (SLES) 12 SP3, 12 SP5, 15 SP1, 15 SP2 e 15 SP3 x64
Observação: Horizon Agent tem pacotes de dependências em algumas distribuições do Linux. Consulte Instalar pacotes de dependências para Horizon Agent para obter mais informações.

Alguns recursos são compatíveis com um subconjunto limitado de sistemas operacionais Linux. Para obter mais informações, consulte a seção deste documento que discute o recurso específico.

Plataforma e versões de software necessárias

Para instalar e usar o Horizon Agent para Linux, sua implantação deve atender a determinados requisitos para a plataforma vSphere, Horizon Connection Server e software Horizon Client.

Tabela 2. Plataforma Obrigatória VMware Horizon Versões do Software
Plataforma e software Versões compatíveis
vSphere versão da plataforma
  • vSphere Versão 7.0 ou posterior
  • vSphere Versão 6.7 ou posterior
  • vSphere 6.5 U1 ou versão posterior
Ambiente do Horizon
  • Horizon Connection Server 2111
Horizon Client software
  • Horizon Client para Android 2111
  • Horizon Client para Windows 2111
  • Horizon Client para Linux 2111
  • Horizon Client para Mac 2111
  • Horizon Client para iOS 2111
  • HTML Access 2111 no Chrome e no Firefox
  • Zero clientes compatíveis com o protocolo VMware Blast
    Observação: Não há suporte para clientes zero Teradici PCoIP.

Portas TCP/UDP usadas por máquinas virtuais Linux

Horizon 8 Os clientes do Agent e do Horizon usam portas TCP ou UDP para acesso à rede entre si e vários componentes do servidor Horizon 8.

Tabela 3. Portas TCP/UDP usadas por máquinas virtuais Linux
Origem Porta Destino Porta Protocolo Descrição
Horizon Client * Agente Linux 22443 TCP/UDP Blast se o Blast Security Gateway for usado
Servidor de conexão do Horizon 8 ou dispositivo do Unified Access Gateway * Agente Linux 22443 TCP/UDP Blast se o Blast Security Gateway for usado
Horizon 8 Agente * Servidor de conexão do Horizon 8 4001, 4002 TCP Tráfego SSL JMS
Observação: Para obter mais informações sobre as portas TCP e UDP usadas pelos clientes, consulte o documento Segurança Horizon e o guia Portas de rede em VMware Horizon.

Para permitir que os usuários se conectem às suas áreas de trabalho Linux, as áreas de trabalho devem ser capazes de aceitar conexões TCP de entrada de dispositivos Horizon Client, Unified Access Gateway e Horizon Connection Server.

Em distribuições do Ubuntu, o firewall iptables é configurado por padrão com uma política de entrada ACEITAR.

Nas distribuições RHEL e CentOS, quando possível, o script do instalador Horizon Agent configura o firewall iptables com uma política de entrada ACEITAR.

Certifique-se de que o iptables em um sistema operacional guest RHEL ou CentOS tenha uma política de entrada ACCEPT para novas conexões da porta Blast, 22443.

Quando o BSG está ativado, as conexões do cliente são direcionadas de um dispositivo Horizon Client por meio do BSG no Horizon Connection Server para a área de trabalho do Linux. Quando o BSG não está ativado, as conexões são feitas diretamente do dispositivo Horizon Client para a área de trabalho do Linux.

Verificar a conta do Linux usada por máquinas virtuais Linux

A tabela a seguir lista o nome da conta e o tipo de conta usados pelas máquinas virtuais Linux.

Tabela 4. Nome da conta e tipo de conta
Nome da conta Tipo de conta Usado por
raiz Sistema operacional Linux integrado Java Standalone Agent, mksvchanserver, scripts de shell
vmwblast Criado pelo instalador do Agente Linux VMwareBlastServer
<usuário de login atual> Usuário integrado do sistema operacional Linux ou do AD ou usuário do LDAP Script Python

Ambiente de Trabalho

O Horizon Agent para Linux oferece suporte a vários ambientes de área de trabalho em diferentes distribuições do Linux. A tabela a seguir lista os ambientes de área de trabalho padrão para cada distribuição do Linux e os ambientes de área de trabalho adicionais compatíveis com o Horizon Agent para Linux.
Tabela 5. Ambientes de área de trabalho compatíveis
Distribuição Linux Ambiente de área de trabalho padrão Ambientes de área de trabalho compatíveis com o Horizon Agent para Linux
Ubuntu 20.04/18.04 Gnomo Gnome Ubuntu, K Desktop Environment (KDE), MATE
RHEL/CentOS 7.x Gnomo Gnome, KDE
RHEL/CentOS 8.x Gnomo Gnomo
SLED/SLES Gnomo Gnomo
Observação: O Gnome Display Manager (GDM) é o único gerenciador de exibição compatível com desktops Linux. Para obter mais informações, consulte o artigo 87459 da Base de Conhecimento.

O Single Sign-On (SSO) para o KDE e o Ambiente de Trabalho MATE só funciona quando sua área de trabalho Linux está usando a saudação GDM3 (tela de login). Você deve instalar o KDE e o MATE usando os comandos listados em Comandos para instalar ambientes de área de trabalho.

Ao usar distribuições do RHEL/CentOS 7.x e Ubuntu, o SSO falha ao desbloquear uma sessão bloqueada do KDE. Você deve digitar manualmente sua senha para desbloquear a sessão bloqueada.

Para alterar o ambiente de área de trabalho padrão usado em uma das distribuições Linux com suporte, você deve usar as seguintes etapas e os comandos apropriados para sua área de trabalho Linux.

  1. Instale o sistema operacional da distribuição Linux compatível com a configuração padrão do ambiente de área de trabalho.
  2. Execute os comandos apropriados descritos na tabela a seguir para sua distribuição Linux específica.
    Tabela 6. Comandos para instalar ambientes de área de trabalho
    Distribuição Linux Novo ambiente de área de trabalho padrão Comandos para alterar o ambiente de área de trabalho padrão
    RHEL/CentOS 7.x KDEGenericName
    yum groupinstall "KDE Plasma Workspaces"
    Ubuntu 20.04/18.04 KDEGenericName
    apt install plasma-desktop
    Ubuntu 20.04/18.04 MATE 1.225
    apt install ubuntu-mate-desktop
  3. Para começar a usar o novo ambiente de área de trabalho padrão, reinicie a área de trabalho.
Se você tiver habilitado o SSO em uma área de trabalho Linux que tenha vários ambientes de área de trabalho instalados, use as informações a seguir para selecionar o ambiente de área de trabalho a ser usado em uma sessão de SSO.
  • Para o Ubuntu 20.04/18.04 e o RHEL/CentOS 7.x, use as informações na tabela a seguir para definir a opção SSODesktopType no arquivo /etc/vmware/viewagent-custom.conf para especificar a área de trabalho ambiente a ser usado com o SSO.
    Tabela 7. Opção SSODesktopType
    Tipo de área de trabalho Configuração da opção SSODesktopType
    COMPANHEIRO SSODesktopType=UseMATE
    GnomeUbuntu SSODesktopType=UseGnomeUbuntu
    GnomeFlashback SSODesktopType=UseGnomeFlashback
    KDEGenericName SSODesktopType=UseKdePlasma
    GnomeClassic SSODesktopType=UseGnomeClassic
  • Para o RHEL/CentOS 8.x, para que a sessão de logon de SSO use o Gnome Classic, remova todos os arquivos de inicialização da área de trabalho, exceto o arquivo de inicialização do Gnome Classic, do diretório /usr/share/xsession. Use o seguinte conjunto de comandos como exemplo.
    cd /usr/share/xsessions
    mkdir backup
    mv *.desktop backup
    mv backup/gnome-classic.desktop ./
    Após a configuração inicial, o usuário final deve fazer logout ou reinicializar sua área de trabalho Linux para usar o Gnome Classic como a área de trabalho padrão na próxima sessão de SSO.

Se você tiver desativado o SSO em uma área de trabalho Linux com vários ambientes de área de trabalho instalados, não será necessário realizar nenhuma das etapas descritas anteriormente. Os usuários finais precisam selecionar o ambiente de desktop desejado quando fizerem login nesse desktop Linux.

Requisitos de rede

O VMware Blast Extreme é compatível com o User Datagram Protocol (UDP) e o Transmission Control Protocol (TCP). As condições de rede afetam o desempenho do UDP e do TCP. Para obter a melhor experiência do usuário, selecione UDP ou TCP com base na condição da rede.
  • Selecione TCP se a condição da rede for boa, como em um ambiente de rede local (LAN).
  • Selecione UDP se a condição da rede for ruim, como em um ambiente de rede de longa distância (WAN) com perda de pacotes e atraso de tempo.
Use uma ferramenta de analisador de rede, como o Wireshark, para determinar se VMware Blast Extreme está usando TCP ou UDP. Use o seguinte conjunto de etapas, que usam o Wireshark, como exemplo de referência.
  1. Baixe e instale o Wireshark na sua VM Linux.
    Para RHEL/CentOS:
    sudo yum install wireshark
    Para o Ubuntu:
    sudo apt install tshark
  2. Conecte-se à área de trabalho do Linux usando VMware Horizon Client.
  3. Abra uma janela de terminal e execute o seguinte comando, que exibe o pacote TCP ou UDP usado por VMware Blast Extreme.
    sudo tshark -i any | grep 22443
Os recursos Redirecionamento de USB e Redirecionamento de unidade de cliente (CDR) são sensíveis às condições da rede. Se a condição da rede for ruim, como uma largura de banda limitada com atraso de tempo e perda de pacotes, a experiência do usuário se tornará ruim. Nessa condição, o usuário final pode enfrentar um dos seguintes.
  • A cópia de arquivos remotos pode ser lenta. Nessa situação, transmita arquivos de tamanho menor.
  • O dispositivo USB não aparece na área de trabalho remota do Linux.
  • Os dados USB não são transferidos completamente. Por exemplo, se você copiar um arquivo grande, poderá obter um arquivo menor em tamanho do que o arquivo original.

Driver VHCI para redirecionamento USB

Observação: Para determinar a sequência de instalação correta do driver VHCI, use as seguintes diretrizes:
  • Se você pretende instalar o Horizon Agent usando o instalador do tarball .tar.gz, primeiro faça download e descompacte o instalador do tarball, depois instale o driver VHCI e instale o Horizon Agent com o parâmetro de instalação para o recurso de redirecionamento USB.
  • Se você pretende instalar o Horizon Agent usando o instalador do RPM .rpm, deverá primeiro instalar o Horizon Agent, depois o driver VHCI e, em seguida, adicionar o recurso de redirecionamento USB à configuração do Horizon Agent.

Para obter mais informações, consulte Instalar o Horizon Agent em uma máquina virtual Linux.

O recurso de redirecionamento de USB depende do driver de kernel da Interface do Controlador de Host Virtual USB (VHCI). Para oferecer suporte ao USB 3.0 e ao recurso de redirecionamento de USB, você deve instalar o driver VHCI executando as seguintes etapas:

  1. Baixe o código-fonte USB VHCI de https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/.
  2. Identifique o caminho completo para o arquivo de patch VHCI, dependendo do formato do instalador Horizon Agent. Para obter diretrizes, consulte os exemplos a seguir.
    • (Instalador do Tarball) Se você baixar e descompactar o instalador do tarball VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx.tar .gz no diretório /install_tmp/, o full-path_to_patch-file é /install_tmp/VMware-horizonagent-linux -x86_64-YYMM-y.y.y-xxxxxxx/resources/vhci/patch/vhci.patch.
    • (Instalador do RPM) Se você baixar o instalador do RPM VMware-horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm e usá-lo para instalar o Horizon Agent, o full-path_to_patch-file é /usr/lib/vmware/viewagent/resources/vhci/patch/vhci .patch.
  3. Para compilar o código-fonte do driver VHCI e instalar o binário resultante no sistema Linux, use os comandos listados na tabela a seguir. Substitua full-path_to_patch-file nos comandos pelo caminho do arquivo que você identificou na etapa anterior.
    Por exemplo, se o caminho do arquivo for /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx/resources/ vhci/patch/vhci.patch, o comando patch se torna:
    patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxxi/resources/vhci/patch/vhci.patch
Tabela 8. Compilar e instalar o driver USB VHCI
Distribuição Linux Etapas para compilar e instalar o driver USB VHCI
Ubuntu 20.04/18.04
  1. Instale os pacotes de dependências.
    apt-get install make
    apt-get install gcc
    apt-get install libelf-dev
  2. Compile e instale os drivers 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 os pacotes de dependências.
    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 os drivers 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 garantir que os drivers VHCI funcionem corretamente com o redirecionamento USB, defina as configurações de assinatura para o driver USB.
    1. Crie um par de chaves SSL para o driver 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. Assine o driver 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 a chave para a inicialização segura UEFI.
      sudo mokutil --import MOK.der
      Observação: Esse comando emite uma solicitação para definir uma senha da Chave do Proprietário da Máquina (MOK) para a Inicialização Segura UEFI.
    4. Para configurar o UEFI Secure Boot no console vSphere, reinicialize o sistema. Para obter mais informações, consulte https://sourceware.org/systemtap/wiki/SecureBoot.

SLED/SLES 12.x

SLED/SLES 15.x

  1. Localize a versão do pacote de kernel atual.
    rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    A saída é o nome do pacote do kernel instalado no momento. Se, por exemplo, o nome do pacote for kernel-default-3.0.101-63.1, a versão atual do pacote do kernel será 3.0.101-63.1.

  2. Instale os pacotes kernel-devel, kernel-default-devel, kernel-macros e patch.
    zypper install --oldpackage kernel-devel-<kernel-package-version> \
    kernel-default-devel-<kernel-package-version> kernel-macros-<kernel-package-version> patch
    Por exemplo:
    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 os drivers 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 garantir que os drivers VHCI funcionem corretamente com o redirecionamento USB, defina as configurações de assinatura para o driver USB.
    1. Crie um par de chaves SSL para o driver 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. Encontre o caminho para o arquivo de assinatura do driver USB.
      find / -name sign-file

      Esse comando retorna os caminhos para todos os arquivos de assinatura localizados no sistema. O caminho do arquivo de assinatura para o driver USB é semelhante ao exemplo a seguir.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. Assine o driver USB. Nos comandos a seguir, <sign-file-path> é o caminho para o arquivo de assinatura que você encontrou anteriormente na etapa 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 a chave para a inicialização segura UEFI.
      # sudo mokutil --import MOK.der
      Observação: Esse comando emite uma solicitação para definir uma senha da Chave do Proprietário da Máquina (MOK) para a Inicialização Segura UEFI.
    5. Para configurar o UEFI Secure Boot no console vSphere, reinicialize o sistema. Para obter mais informações, consulte https://sourceware.org/systemtap/wiki/SecureBoot.

Além disso, siga estas diretrizes:

  • Se o kernel do Linux for alterado para uma nova versão, você deverá recompilar e reinstalar o driver VHCI, mas não precisará reinstalar o Horizon Agent para Linux.
  • Você também pode adicionar DKMS (Dynamic Kernel Module Support) ao driver VHCI usando etapas semelhantes ao exemplo a seguir para um sistema Ubuntu.
    1. Instale os cabeçalhos do kernel.
      apt install linux-headers-`uname -r`
    2. Instale o dkms usando o seguinte comando.
      apt install dkms
    3. Extraia e corrija o arquivo VHCI TAR.
      tar xzvf vhci-hcd-1.15.tar.gz
      cd vhci-hcd-1.15
      patch -p1 <full-path_to_patch-file>
      cd ..
    4. Copie os arquivos de origem VHCI extraídos para o diretório /usr/src.
      cp -r vhci-hcd-1.15 /usr/src/usb-vhci-hcd-1.15
    5. Crie um arquivo chamado dkms.conf e coloque-o no diretório /usr/src/usb-vhci-hcd-1.15.
      touch /usr/src/usb-vhci-hcd-1.15/dkms.conf
    6. Adicione o seguinte conteúdo ao arquivo 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. Adicione este driver VHCI em dkms.
      dkms add usb-vhci-hcd/1.15
    8. Compile o driver VHCI.
      dkms build usb-vhci-hcd/1.15
    9. Instale o driver VHCI.
      dkms install usb-vhci-hcd/1.15