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 8 e a plataforma VMware vSphere.

Distribuições 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 22.04 x64
Debian 10.13, 11.5, 11.6. e 11.7 x64
Red Hat Enterprise Linux (RHEL) Workstation 7.9, 8.6, 8.7, 8.8, 9.0, 9.1 e 9.2 x64
Red Hat Enterprise Linux (RHEL) Server 7.9, 8.6, 8.7, 8.8, 9.0, 9.1 e 9.2 x64
Rocky Linux 8.8 e 9.2 x64
CentOS 7.9 x64
SUSE Linux Enterprise Desktop (SLED) 15 SP3 e 15 SP4 x64
SUSE Linux Enterprise Server (SLES) 15 SP3 e 15 SP4 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.

O script de instalação do install_viewagent.sh fornece um parâmetro --force que força a instalação do Horizon Agent em distribuições Linux não listadas na matriz de suporte de teste. Consulte Opções de linha de comando para instalar o Horizon Agent para Linux.

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 8.0 ou posterior
  • vSphere Versão 7.0 ou posterior
  • vSphere Versão 6.7 ou posterior
  • vSphere 6.5 U1 ou versão posterior
VMware Horizon 8 ambiente
  • Horizon Connection Server 2306
Horizon Client software
  • Horizon Client para Android 2306
  • Horizon Client para Windows 2306
  • Horizon Client para Linux 2306
  • Horizon Client para Mac 2306
  • Horizon Client para iOS 2306
  • HTML Access 2306 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 usadas por desktops Linux

Para habilitar sessões de conexão, os desktops Linux devem oferecer suporte a conexões TCP de entrada de dispositivos Horizon Client, Unified Access Gateway e Horizon Connection Server.

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

Nas distribuições RHEL, Rocky Linux e CentOS, quando possível, o script do instalador Horizon Agent configura o firewall iptables com uma política de entrada ACCEPT. Para garantir o suporte a conexões de entrada, verifique se o iptables tem uma política de entrada ACCEPT para novas conexões por meio da porta Blast, 22443.

Quando você habilita o Blast Secure Gateway (BSG), 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 você não ativa o BSG, as conexões são feitas diretamente do dispositivo Horizon Client para a área de trabalho do Linux.

Para obter informações detalhadas sobre as portas usadas por Horizon Agent em desktops Linux, consulte o documento Segurança Horizon e o guia Portas de rede em VMware Horizon .

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 3. 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 Linux e os outros ambientes de área de trabalho compatíveis com o Horizon Agent para Linux.
Tabela 4. 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 Gnomo Gnome Ubuntu, K Desktop Environment (KDE), MATE
Debian Gnomo Gnome, KDE, MATE
RHEL e Rocky Linux 8.x/9.x Gnomo Gnomo
RHEL 7.9 Gnomo Gnome, KDE, MATE
CentOS 7.9 Gnomo Gnome, KDE
SLED/SLES Gnomo Gnomo
Observação: 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 5. 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.9 KDEGenericName
    yum groupinstall "KDE Plasma Workspaces"
    RHEL 7.9 COMPANHEIRO
    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 KDEGenericName
    apt install plasma-desktop
    Ubuntu COMPANHEIRO
    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 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 o ambiente de área de trabalho a ser usado com SSO.
    Tabela 6. 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 e o Rocky Linux 9.x/8.x, para que a sessão de login do 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 arquivo /usr/share/xsession{ diretório. Por exemplo, execute o seguinte conjunto de comandos como usuário raiz:
    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 e Rocky Linux:
    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 7. Compilar e instalar o driver USB VHCI
Distribuição Linux Etapas para compilar e instalar o driver USB VHCI
Ubuntu
  1. Instale os pacotes de dependências.
    sudo apt-get install make
    sudo apt-get install gcc
    sudo apt-get install libelf-dev
  2. (Ubuntu 22.04) Instale os arquivos de cabeçalho do kernel.
    sudo apt-get install linux-headers-$(uname -r)
  3. Compile e instale o driver 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. Se você tiver habilitado a Extensible Firmware Interface (EFI) e a Inicialização Segura UEFI na máquina virtual, defina as configurações de assinatura para o driver VHCI.
    1. Crie um par de chaves SSL para o driver 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. Assine o driver 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 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.
Debian
  1. Instale os pacotes de dependências.
    sudo  apt install -y  patch g++ make linux-headers-$(uname -r)
  2. Compile e instale o driver 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 os pacotes de dependências.
    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 o driver 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 e Rocky Linux 9.x/8.x) Para garantir que o driver VHCI funcione corretamente com o redirecionamento USB, defina as configurações de assinatura para o driver.
    1. Crie um par de chaves SSL para o driver 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. Assine o driver 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 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

  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.
    sudo zypper install --oldpackage kernel-devel-<kernel-package-version> \
    kernel-default-devel-<kernel-package-version> kernel-macros-<kernel-package-version> patch
    Por exemplo:
    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 o driver 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 garantir que o driver VHCI funcione corretamente com o redirecionamento USB, defina as configurações de assinatura para o driver.
    1. Crie um par de chaves SSL para o driver 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. Encontre o caminho para o arquivo de assinatura do driver VHCI.
      sudo 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 VHCI é semelhante ao exemplo a seguir.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. Assine o driver VHCI. 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.
      sudo apt install linux-headers-`uname -r`
    2. Instale o dkms usando o seguinte comando.
      sudo 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.
      sudo 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.
      sudo 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.
      sudo dkms add usb-vhci-hcd/1.15
    8. Compile o driver VHCI.
      sudo dkms build usb-vhci-hcd/1.15
    9. Instale o driver VHCI.
      sudo dkms install usb-vhci-hcd/1.15