要安装 Horizon Agent for Linux,必须满足 Linux 操作系统、Linux 虚拟机、Horizon 8 系统组件和 vSphere 平台的特定要求。
Horizon Agent 支持的 Linux 版本
下表列出了经过测试且受 Horizon Agent 支持的 Linux 操作系统。
Linux 分发包 | 架构 |
---|---|
Ubuntu 18.04、20.04 和 22.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、8.5、8.6 和 9.0 | x64 |
Red Hat Enterprise Linux (RHEL) Server 7.8、7.9、8.4、8.6 和 9.0 | x64 |
CentOS 7.6、7.7、7.8 和 7.9 | x64 |
SUSE Linux Enterprise Desktop (SLED) 12 SP3、15 SP2 和 15 SP3 | x64 |
SUSE Linux Enterprise Server (SLES) 12 SP3、12 SP5、15 SP2 和 15 SP3 | x64 |
某些功能仅在有限的部分 Linux 操作系统上受支持。有关更多信息,请参阅本文档中讨论特定功能的部分。
install_viewagent.sh 安装脚本提供了一个 --force 参数,用于强制在测试支持列表中未列出的 Linux 分发包上安装 Horizon Agent。请参阅用于安装 Horizon Agent for Linux 的命令行选项。
所需的平台和软件版本
要安装并使用 Horizon Agent for Linux,您的部署必须满足 vSphere 平台、Horizon Connection Server 和 Horizon Client 软件的特定要求。
平台和软件 | 支持的版本 |
---|---|
vSphere 平台版本 |
|
Horizon 8 环境 |
|
Horizon Client 软件 |
|
Linux 桌面使用的端口
要启用连接会话,Linux 桌面必须支持来自 Horizon Client 设备、Unified Access Gateway 和 Horizon Connection Server 的入站 TCP 连接。
在 Ubuntu 分发包中,已默认配置 iptables 防火墙并设置了一条“ACCEPT”的输入策略。
在 RHEL 和 CentOS 分发包中,如果可能,Horizon Agent 安装程序脚本将配置 iptables 防火墙并设置一条“ACCEPT”输入策略。为确保支持入站连接,请确认 iptables 具有一条“ACCEPT”输入策略,用于接受通过 Blast 端口 22443 的新连接。
启用 Blast 安全网关 (BSG) 时,将通过 Horizon Connection Server 上的 BSG 在 Horizon Client 设备与 Linux 桌面之间建立客户端连接。未启用 BSG 时,将直接在 Horizon Client 设备与 Linux 桌面之间建立连接。
有关 Horizon Agent 在 Linux 桌面上使用的端口的详细信息,请参阅《Horizon 安全指南》文档以及《VMware Horizon 中的网络端口》指南。
验证 Linux 虚拟机使用的 Linux 帐户
下表列出了 Linux 虚拟机使用的帐户名称和帐户类型。
帐户名称 | 帐户类型 | 使用者 |
---|---|---|
根 | Linux 操作系统内置 | Java Standalone Agent、mksvchanserver、Shell 脚本 |
vmwblast | 由 Linux 代理安装程序创建 | VMwareBlastServer |
<当前登录用户> | Linux 操作系统内置或 AD 用户或 LDAP 用户 | Python 脚本 |
桌面环境
Linux 分发包 | 默认桌面环境 | Horizon Agent for Linux 支持的桌面环境 |
---|---|---|
Ubuntu | Gnome | Gnome Ubuntu、K 桌面环境 (KDE)、MATE |
RHEL 7.x/CentOS 7.x | Gnome | Gnome、KDE |
RHEL 8.x/9.x | Gnome | Gnome |
SLED/SLES | Gnome | Gnome |
要更改在某个支持的 Linux 分发包中使用的默认桌面环境,您必须执行以下步骤并使用适用于您的 Linux 桌面的命令。
- 使用默认桌面环境设置安装支持的 Linux 分发包的操作系统。
- 为您的特定 Linux 分发包运行下表中所述的相应命令。
表 5. 用于安装桌面环境的命令 Linux 分发包 新的默认桌面环境 用于更改默认桌面环境的命令 RHEL/CentOS 7.x KDE yum groupinstall "KDE Plasma Workspaces"
Ubuntu KDE apt install plasma-desktop
Ubuntu MATE 1.225 apt install ubuntu-mate-desktop
- 要开始使用新的默认桌面环境,请重新启动桌面。
- 对于 Ubuntu 和 RHEL/CentOS 7.x,请使用下表中的信息设置 /etc/vmware/viewagent-custom.conf 文件中的 SSODesktopType 选项,以指定要用于 SSO 的桌面环境。
表 6. SSODesktopType 选项 桌面类型 SSODesktopType 选项设置 MATE SSODesktopType=UseMATE GnomeUbuntu SSODesktopType=UseGnomeUbuntu GnomeFlashback SSODesktopType=UseGnomeFlashback KDE SSODesktopType=UseKdePlasma GnomeClassic SSODesktopType=UseGnomeClassic - 对于 RHEL 9.x/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 |
|
RHEL/CentOS 7.x RHEL 8.x/9.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
- 安装内核头文件。