要安装适用于 Horizon Agent for Linux,必须满足 Linux 操作系统、Linux 虚拟机、VMware Horizon 系统组件和 vSphere 平台的特定要求。
Horizon Agent 支持的 Linux 版本
下表列出了经过测试且受 Horizon Agent 支持的 Linux 操作系统。
Linux 分发包 | 架构 |
---|---|
Ubuntu 20.04 和 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 和 8.4 | x64 |
Red Hat Enterprise Linux (RHEL) Server 7.8、7.9、8.3 和 8.4 | x64 |
CentOS 7.6、7.7、7.8、7.9、8.0、8.1、8.2、8.3 和 8.4 | x64 |
SUSE Linux Enterprise Desktop (SLED) 12 SP3、15 SP1、15 SP2 和 15 SP3 | x64 |
SUSE Linux Enterprise Server (SLES) 12 SP3、12 SP5、15 SP1、15 SP2 和 15 SP3 | x64 |
某些功能仅在有限的部分 Linux 操作系统上受支持。有关更多信息,请参阅本文档中讨论特定功能的部分。
所需的平台和软件版本
要安装并使用 Horizon Agent for Linux,您的部署必须满足 vSphere 平台、Horizon Connection Server 和 Horizon Client 软件的特定要求。
平台和软件 | 支持的版本 |
---|---|
vSphere 平台版本 |
|
Horizon 环境 |
|
Horizon Client 软件 |
|
Linux 虚拟机使用的 TCP/UDP 端口
Horizon 8 Agent 和 Horizon Client 使用 TCP 或 UDP 端口进行相互之间以及它们与各种 Horizon 8 Server 组件之间的网络访问。
源 | 端口 | 目标 | 端口 | 协议 | 说明 |
---|---|---|---|---|---|
Horizon Client | * | Linux 代理 | 22443 | TCP/UDP | 如果使用了 Blast 安全网关,则为 Blast |
Horizon 8 连接服务器或 Unified Access Gateway 设备 | * | Linux 代理 | 22443 | TCP/UDP | 如果使用了 Blast 安全网关,则为 Blast |
Horizon 8 Agent | * | Horizon 8 连接服务器 | 4001、4002 | TCP | JMS SSL 流量 |
要允许用户连接到其 Linux 桌面,这些桌面必须可以接受来自 Horizon Client 设备、Unified Access Gateway 和 Horizon Connection Server的入站 TCP 连接。
在 Ubuntu 分发包中,已默认配置 iptables 防火墙并设置了一条“ACCEPT”的输入策略。
在 RHEL 和 CentOS 分发包中,如果可能,Horizon Agent 安装程序脚本将配置 iptables 防火墙并设置一条“ACCEPT”的输入策略。
请确保 RHEL 或 CentOS 客户机操作系统上的 iptables 具有一条“ACCEPT”的输入策略,用于接受来自 Blast 端口 22443 的新连接。
启用 BSG 后,将通过 Horizon Connection Server上的 BSG 在 Horizon Client 设备与 Linux 桌面之间建立客户端连接。未启用 BSG 时,将直接在 Horizon Client 设备与 Linux 桌面之间建立连接。
验证 Linux 虚拟机使用的 Linux 帐户
下表列出了 Linux 虚拟机使用的帐户名称和帐户类型。
帐户名称 | 帐户类型 | 使用者 |
---|---|---|
根 | Linux 操作系统内置 | Java Standalone Agent、mksvchanserver、Shell 脚本 |
vmwblast | 由 Linux 代理安装程序创建 | VMwareBlastServer |
<当前登录用户> | Linux 操作系统内置或 AD 用户或 LDAP 用户 | Python 脚本 |
桌面环境
Linux 分发包 | 默认桌面环境 | Horizon Agent for Linux 支持的桌面环境 |
---|---|---|
Ubuntu 20.04/18.04 | Gnome | Gnome Ubuntu、K 桌面环境 (KDE)、MATE |
RHEL/CentOS 7.x | Gnome | Gnome、KDE |
RHEL/CentOS 8.x | Gnome | Gnome |
SLED/SLES | Gnome | Gnome |
仅当您的 Linux 桌面使用 GDM3 欢迎程序(登录屏幕)时,才可对 KDE 和 MATE 桌面环境使用单点登录 (SSO)。您必须使用用于安装桌面环境的命令中列出的命令安装 KDE 和 MATE。
使用 RHEL/CentOS 7.x 和 Ubuntu 分发包时,SSO 无法对锁定的 KDE 会话进行解锁。您必须手动输入密码才能对锁定的会话解锁。
要更改在某个支持的 Linux 分发包中使用的默认桌面环境,您必须执行以下步骤并使用适用于您的 Linux 桌面的命令。
- 使用默认桌面环境设置安装支持的 Linux 分发包的操作系统。
- 为您的特定 Linux 分发包运行下表中所述的相应命令。
表 6. 用于安装桌面环境的命令 Linux 分发包 新的默认桌面环境 用于更改默认桌面环境的命令 RHEL/CentOS 7.x KDE yum groupinstall "KDE Plasma Workspaces"
Ubuntu 20.04/18.04 KDE apt install plasma-desktop
Ubuntu 20.04/18.04 MATE 1.225 apt install ubuntu-mate-desktop
- 要开始使用新的默认桌面环境,请重新启动桌面。
- 对于 Ubuntu 20.04/18.04 和 RHEL/CentOS 7.x,请使用下表中的信息设置 /etc/vmware/viewagent-custom.conf 文件中的 SSODesktopType 选项,以指定要用于 SSO 的桌面环境。
表 7. SSODesktopType 选项 桌面类型 SSODesktopType 选项设置 MATE SSODesktopType=UseMATE GnomeUbuntu SSODesktopType=UseGnomeUbuntu GnomeFlashback SSODesktopType=UseGnomeFlashback KDE SSODesktopType=UseKdePlasma GnomeClassic SSODesktopType=UseGnomeClassic - 对于 RHEL/CentOS 8.x,要让 SSO 登录会话使用 Gnome Classic,请从 /usr/share/xsession 目录中移除 Gnome Classic 启动文件以外的所有桌面启动文件。例如,可使用下面的一组命令。
cd /usr/share/xsessions mkdir backup mv *.desktop backup mv backup/gnome-classic.desktop ./
完成初始设置后,最终用户必须注销或重新引导其 Linux 桌面,才能将 Gnome Classic 用作下一个 SSO 会话中的默认桌面。
如果您在装有多个桌面环境的 Linux 桌面上停用了 SSO,则无需执行前面所述的任何步骤。最终用户在登录该 Linux 桌面时,必须选择其所需的桌面环境。
网络要求
- 如果网络条件良好(例如处于局域网 (LAN) 环境中),请选择 TCP。
- 如果网络条件较差(例如处于广域网 (WAN) 环境中,在该环境中可能会发生数据包丢失和时间延迟),请选择 UDP。
- 在您的 Linux 虚拟机上下载并安装 Wireshark。
对于 RHEL/CentOS:
sudo yum install wireshark
对于 Ubuntu:sudo apt install tshark
- 使用 VMware Horizon Client 连接到 Linux 桌面。
- 打开终端窗口并运行以下命令,此命令将显示 VMware Blast Extreme 使用的 TCP 软件包或 UDP 软件包。
sudo tshark -i any | grep 22443
- 复制远程文件的速度可能较慢。在这种情况下,请改为传输较小的文件。
- 远程 Linux 桌面中不显示 USB 设备。
- USB 数据无法完整传输。例如,在复制大型文件时,获得的文件可能小于原始文件。
用于 USB 重定向的 VHCI 驱动程序
- 如果要使用 .tar.gz tar 安装程序安装 Horizon Agent,必须先下载并解压缩 tar 安装程序,然后安装 VHCI 驱动程序,然后使用 USB 重定向功能的安装参数安装 Horizon Agent。
- 如果要使用 .rpm RPM 安装程序安装 Horizon Agent,必须先安装 Horizon Agent,然后再安装 VHCI 驱动程序,然后将 USB 重定向功能添加到 Horizon Agent 配置。
有关更多信息,请参阅在 Linux 虚拟机上安装 Horizon Agent。
USB 重定向功能依赖于 USB 虚拟主机控制器接口 (Virtual Host Controller Interface, VHCI) 内核驱动程序。要支持 USB 3.0 和 USB 重定向功能,必须通过执行以下步骤安装 VHCI 驱动程序:
- 从 https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/ 下载 USB VHCI 源代码。
- 确定 VHCI 修补程序文件的完整路径,具体取决于 Horizon Agent 安装程序格式。有关准则,请参阅以下示例。
- (Tar 安装程序)如果下载并解压缩 tar 安装程序 VMware-horizonagent-linux-x86_64-YYMM-yyy-xxxxxxx.tar.gz 到 /install_tmp/ 目录下,full-path_to_patch-file 为 /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx/resources/vhci/patch/vhci.patch。
- (RPM 安装程序)如果下载 RPM 安装程序 VMware-horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm,并使用它安装 Horizon Agent,则 full-path_to_patch-file 为 /usr/lib/vmware/viewagent/resources/vhci/patch/vhci.patch。
- 要编译 VHCI 驱动程序源代码并在 Linux 系统上安装生成的二进制文件,请使用下表中列出的命令。将命令中的 full-path_to_patch-file 替换为您在上一步中确定的文件路径。
例如,如果文件路径为 /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxx/resources/vhci/patch/vhci.patch,则 patch 命令会变为:
patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-YYMM-y.y.y-xxxxxxxi/resources/vhci/patch/vhci.patch
Linux 分发包 | 编译并安装 USB VHCI 驱动程序的步骤 |
---|---|
Ubuntu 20.04/18.04 |
|
RHEL/CentOS 7.x RHEL/CentOS 8.x |
|
SLED/SLES 12.x SLED/SLES 15.x |
|
此外,请遵循以下准则:
- 如果您的 Linux 内核更改为新版本,您必须重新编译并重新安装 VHCI 驱动程序,但无需重新安装 Horizon Agent for Linux。
- 您还可以使用与以下 Ubuntu 系统示例类似的步骤,为 VHCI 驱动程序添加动态内核模块支持 (Dynamic Kernel Module Support, DKMS)。
- 安装内核头文件。
apt install linux-headers-`uname -r`
- 使用以下命令安装 dkms。
apt install dkms
- 提取和修补 VHCI TAR 文件。
tar xzvf vhci-hcd-1.15.tar.gz cd vhci-hcd-1.15 patch -p1 <full-path_to_patch-file> cd ..
- 将提取的 VHCI 源文件复制到 /usr/src 目录。
cp -r vhci-hcd-1.15 /usr/src/usb-vhci-hcd-1.15
- 创建一个名为 dkms.conf 的文件,并将其放在 /usr/src/usb-vhci-hcd-1.15 目录中。
touch /usr/src/usb-vhci-hcd-1.15/dkms.conf
- 向 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"
- 在 dkms 中添加此 VHCI 驱动程序。
dkms add usb-vhci-hcd/1.15
- 生成 VHCI 驱动程序。
dkms build usb-vhci-hcd/1.15
- 安装 VHCI 驱动程序。
dkms install usb-vhci-hcd/1.15
- 安装内核头文件。