要安装 Horizon 7 for Linux,您的 Linux 系统必须满足操作系统、Horizon 7 和 vSphere 平台的特定要求。
Horizon Agent 支持的 Linux 版本
下表列出了 Horizon Agent 支持的 Linux 操作系统。
Linux 分发包 | 架构 |
---|---|
Ubuntu 16.04、18.04 和 20.04
注: Horizon Agent 7.13.1 及更高版本不支持 Ubuntu 16.04。
注: 您必须应用 VMware 知识库文章
http://kb.vmware.com/kb/2151294 中所述的解决方案之一。
|
x64 |
Red Hat Enterprise Linux (RHEL) Workstation 6.6、6.7、6.8、6.9、6.10、7.2、7.3、7.4、7.5、7.6、7.7、7.8、7.9、8.0、8.1、8.2、8.3 和 8.4
注: 下列要求适用:
|
x64 |
CentOS 6.6、6.7、6.8、6.9、6.10、7.2、7.3、7.4、7.5、7.6、7.7、7.8、7.9、8.0、8.1、8.2、8.3 和 8.4
注: 下列要求适用:
|
x64 |
NeoKylin 6 Update 1 | x64 |
SLED 12.x SP1/SP2/SP3 | x64 |
SLES 12.x SP1/SP2/SP3/SP5 | x64 |
所需的平台和 Horizon 7 软件版本
要安装并使用 Horizon 7 for Linux,您的部署必须满足 vSphere 平台、Horizon 7 和 Horizon Client 软件的特定要求。
平台和软件 | 支持的版本 |
---|---|
vSphere 平台版本 |
|
Horizon 环境 |
|
Horizon Client 软件 |
|
Linux 虚拟机使用的 TCP/UDP 端口
Horizon Agent 和 Horizon Client 使用 TCP 或 UDP 端口进行相互之间以及它们与各种 Horizon Server 组件之间的网络访问。
源 | 端口 | 目标 | 端口 | 协议 | 说明 |
---|---|---|---|---|---|
Horizon Client | * | Linux 代理 | 22443 | TCP/UDP | 如果未使用 Blast 安全网关,则为 Blast |
安全服务器、Horizon 连接服务器或 Access Point 设备 | * | Linux 代理 | 22443 | TCP/UDP | 如果使用了 Blast 安全网关,则为 Blast |
Horizon Agent | * | Horizon 连接服务器 | 4001、4002 | TCP | JMS SSL 流量。 |
要允许用户连接到其 Linux 桌面,这些桌面必须可以接受来自 Horizon Client 设备、安全服务器和 Horizon Connection Server的入站 TCP 连接。
在 Ubuntu 和 Kylin 分发包中,已默认配置 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 7 for Linux 桌面支持的桌面环境 |
---|---|---|
Ubuntu 18.04/20.04 | Gnome | Gnome Ubuntu、K 桌面环境 (KDE)、MATE |
Ubuntu 16.04 | Unity | Gnome Flashback (Metacity)、KDE、MATE |
RHEL/CentOS 6.x | Gnome | Gnome、KDE |
RHEL/CentOS 7.x | Gnome | Gnome、KDE |
RHEL/CentOS 8.x | Gnome | Gnome |
SLED 12 SP1/SP2/SP3 | Gnome | Gnome |
SLES 12 SP1/SP2/SP3/SP5 | Gnome | Gnome |
NeoKylin 6 Update 1 | Mate | Mate |
使用 RHEL/CentOS 7.x 和 Ubuntu 20.04/18.04/16.04 分发包时,SSO 无法对锁定的 KDE 会话进行解锁。您必须手动输入密码才能对锁定的会话解锁。
- 使用默认桌面环境设置安装支持的 Linux 分发包的操作系统。
- 为您的特定 Linux 分发包运行 用于安装桌面环境的命令中的相应命令。
表 6. 用于安装桌面环境的命令 Linux 分发包 新的默认桌面环境 用于更改默认桌面环境的命令 RHEL/CentOS 6.x KDE # yum groupinstall "X Window System" "KDE Desktop"
RHEL/CentOS 7.x KDE # yum groupinstall "KDE Plasma Workspaces"
Ubuntu 20.04/18.04/16.04 KDE # apt install plasma-desktop
Ubuntu 20.04/18.04 MATE # apt install ubuntu-mate-desktop
Ubuntu 16.04 MATE # apt-add-repository ppa:ubuntu-mate-dev/xenial-mate # apt update # apt upgrade # apt install mate # apt install ubuntu-mate-themes
Ubuntu 16.04 Gnome Flashback (Metacity) # apt install gnome-session-flashback
- 要开始使用新的默认桌面环境,请重新启动桌面。
- 对于 Ubuntu 20.04/18.04/16.04 和 RHEL/CentOS 7.x,请使用 SSODesktopType 选项 中的信息设置 /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 6.x,要让 SSO 登录会话使用 KDE,请从 /usr/share/xsession 目录中移除 KDE 启动文件以外的所有桌面启动文件。例如,可使用下面的一组命令。
# cd /usr/share/xsessions # mkdir backup # mv *.desktop backup # mv backup/kde*.desktop ./
完成初始设置后,最终用户必须注销或重新引导其 Linux 桌面,才能将 KDE 用作下一个 SSO 会话中的默认桌面。 - 对于 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 6:
sudo yum install wireshark
对于 Ubuntu 20.04/18.04/16.04:sudo apt install tshark
对于 SLED/SLES 12:sudo zypper install wireshark
- 使用 VMware Horizon Client 连接到 Linux 桌面。
- 打开终端窗口并运行以下命令,此命令将显示 VMware Blast Extreme 使用的 TCP 软件包或 UDP 软件包。
sudo tshark -i any | grep 22443
- 复制远程文件的速度可能较慢。在这种情况下,请改为传输较小的文件。
- 远程 Linux 桌面中不显示 USB 设备。
- USB 数据无法完整传输。例如,在复制大型文件时,获得的文件可能小于原始文件。
用于 USB 重定向的 VHCI 驱动程序
USB 重定向功能依赖于 USB 虚拟主机控制器接口 (Virtual Host Controller Interface, VHCI) 内核驱动程序。为支持 USB 3.0 和 USB 重定向功能,必须执行以下步骤:
- 从 https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/ 下载 USB VHCI 源代码。
- 要编译 VHCI 驱动程序源代码并在 Linux 系统上安装生成的二进制文件,请使用表中执行以下步骤的命令。
例如,如果在 /install_tmp/ 目录下解压缩安装文件 VMware-horizonagent-linux-x86_64-<version>-<build-number>.tar.gz,那么 full-path_to_patch-file 是 /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<buildnumber>/resources/vhci/patch/vhci.patch ,并且要使用的 patch 命令是:
# patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<build-number>/resources/vhci/patch/vhci.patch
Linux 分发包 | 编译并安装 USB VHCI 驱动程序的步骤 |
---|---|
Ubuntu 20.04/18.04 |
|
Ubuntu 16.04 |
编译并安装 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 6.9/6.10 RHEL/CentOS 7.x RHEL/CentOS 8.x |
|
SLED/SLES 12 SP2
|
|
此外,请遵循以下原则:
- 如果您的 Linux 内核更改为新版本,您必须重新编译并重新安装 VHCI 驱动程序,但无需重新安装 Horizon for Linux。
- 您还可以使用与以下 Ubuntu 20.04/18.04/16.04 系统示例类似的步骤,为 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
- 安装内核头文件。