若要安裝 Horizon 7for Linux,您的 Linux 系統必須符合作業系統、Horizon 7 和 vSphere 平台的特定需求。

Horizon Agent 支援的 Linux 版本

下表列出 Horizon Agent 支援的 Linux 作業系統。

表 1. 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

備註: 下列需求適用於:
  • 若要支援 RHEL Workstation 7.9,您必須安裝 Horizon Agent 7.13.1 或更新版本。
  • 若要支援 RHEL Workstation 8.3/8.4,您必須安裝 Horizon Agent 7.13.2 或更新版本。
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

備註: 下列需求適用於:
  • 若要支援 CentOS 7.9,您必須安裝 Horizon Agent 7.13.1 或更新版本。
  • Horizon Agent 7.13.2 及更新版本不支援 CentOS 8.x。
x64
NeoKylin 6 Update 1 x64
SLED 12.x SP1/SP2/SP3 x64
SLES 12.x SP1/SP2/SP3/SP5 x64
備註: Linux 代理程式具有某些 Linux 發行版的相依性套件。如需詳細資訊,請參閱 安裝 Horizon Agent 的相依性套件
備註: 在 RHEL/CentOS 8.x 系統上,Horizon Agent 僅支援 X11 顯示伺服器通訊協定。不支援 Wayland 通訊協定。

需要的平台和 Horizon 7軟體版本

若要安裝及使用 Horizon 7for Linux,您的部署必須符合 vSphere 平台、Horizon 7Horizon Client 軟體的特定需求。

表 2. 需要的平台和 Horizon 7軟體版本
平台和軟體 支援的版本
vSphere 平台版本
  • vSphere 6.0 U2 或更新版本
  • vSphere 6.5 U1 或更新版本
  • vSphere 6.7 或更新版本
Horizon 環境
  • Horizon 連線伺服器 7.13
Horizon Client 軟體
  • Android 版 Horizon Client5.5.0
  • Windows 版 Horizon Client5.5.0
  • Linux 版 Horizon Client5.5.0
  • Mac OS X 版 Horizon Client5.5.0
  • iOS 版 Horizon Client5.5.0 (iPad Pro)
  • Chrome、Firefox 和 Internet Explorer 上需要 HTML Access5.5.0
  • 不支援零用戶端。

Linux 虛擬機器使用的 TCP/UDP 連接埠

HorizonAgent 和 Horizon Client 在彼此之間與各種 Horizon Server 元件之間的網路存取會使用 TCP 或 UDP 連接埠。

表 3. Linux 虛擬機器使用的 TCP/UDP 連接埠
來源 連接埠 目標 連接埠 通訊協定 說明
Horizon Client * Linux 代理程式 22443 TCP/UDP 若未使用 Blast 安全閘道,則為 Blast
安全伺服器、Horizon連線伺服器或 Access Point 應用裝置 * Linux 代理程式 22443 TCP/UDP 若使用 Blast 安全閘道,則為 Blast
HorizonAgent * Horizon連線伺服器 4001、4002 TCP JMS SSL 流量。
備註: 如需關於用戶端所使用 TCP 與 UDP 連接埠的詳細資訊,請參閱 《Horizon Client 和 Agent 安全性》文件與 VMware Horizon 7 指南中的網路連接埠

若要允許使用者連接至其 Linux 桌面平台,桌面平台必須可以接受來自 Horizon Client裝置、安全伺服器和 Horizon Connection Server 的連入 TCP 連線。

在 Ubuntu 和 Kylin 發行版上,iptables 防火牆預設會設定為使用「接受」的輸入原則。

在 RHEL 和 CentOS 發行版上,如有可能,Horizon Agent 安裝程式指令碼會將 iptables 防火牆設定為使用「接受」的輸入原則。

確定 RHEL 或 CentOS 客體作業系統上的 iptables 對來自 Blast 連接埠 22443 的新連線具有「接受」的輸入原則。

啟用 BSG 時,用戶端連線會從 Horizon Client裝置透過安全伺服器或Horizon Connection Server 上的 BSG 導向 Linux 桌面平台。未啟用 BSG 時,則是直接從 Horizon Client裝置對 Linux 桌面平台連線。

確認 Linux 虛擬機器使用的 Linux 帳戶

帳戶名稱和帳戶類型列出 Linux 虛擬機器使用的帳戶名稱和帳戶類型。

表 4. 帳戶名稱和帳戶類型
帳戶名稱 帳戶類型 使用者
Linux 作業系統內建 Java Standalone Agent、mksvchanserver、Shell 指令碼
vmwblast 由 Linux 代理程式安裝程式建立 VMwareBlastServer
<目前登入的使用者> Linux 作業系統內建、AD 使用者或 LDAP 使用者 Python 指令碼

桌面平台環境

Horizon7 for Linux 支援不同 Linux 發行版的多種桌面平台環境。 支援的桌面平台環境列出各個 Linux 發行版的預設桌面平台環境,以及 Linux 版 Horizon 7 支援的其他桌面平台環境。
表 5. 支援的桌面平台環境
Linux 發行版 預設桌面平台環境 Horizon7 for Linux 桌面平台所支援的桌面平台環境
Ubuntu 18.04/20.04 Gnome Gnome Ubuntu、K Desktop Environment (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
若要變更其中一個支援的 Linux 發行版上使用的預設桌面平台環境,您必須使用下列適用於您的 Linux 桌面平台的步驟和命令。
備註: 只有在 Linux 桌面平台使用 GDM3 歡迎畫面 (登入畫面) 時,才可執行 KDE 和 MATE 桌面平台環境的 Single Sign-On (SSO)。您必須使用 用來安裝桌面平台環境的命令中列出的命令來安裝 KDE 和 MATE。

使用 RHEL/CentOS 7.x 和 Ubuntu 20.04/18.04/16.04 發行版時,SSO 將無法解除鎖定已鎖定的 KDE 工作階段。您必須手動輸入密碼,才能將鎖定的工作階段解除鎖定。

  1. 使用預設桌面平台環境設定,安裝支援的 Linux 發行版作業系統。
  2. 針對您的特定 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
  3. 若要開始使用新的預設桌面平台環境,請重新啟動桌面平台。
如果您在安裝了多個桌面平台環境的 Linux 桌面平台上啟用 SSO,請使用下列資訊,選取要在 SSO 工作階段中使用的桌面平台環境。
  • 針對 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 桌面平台時,必須選取其所需的桌面平台環境。

網路需求

VMware Blast Extreme 支援使用者資料包通訊協定 (UDP) 和傳輸控制通訊協定 (TCP)。網路狀況會影響 UDP 和 TCP 的效能。若要獲得最優質的使用者體驗,請根據網路狀況選取 UDP 或 TCP。
  • 如果網路狀況良好 (例如,在區域網路 (LAN) 環境中),請選取 TCP。
  • 如果網路狀況不佳 (例如,在封包遺失且時間延遲的廣域網路 (WAN) 環境中),請選取 UDP。
使用網路分析器工具 (例如 Wireshark) 來判斷 VMware Blast Extreme 是否使用 TCP 或 UDP。使用下列參考範例中使用 Wireshark 的一組步驟。
  1. 在您的 Linux 虛擬機器上下載並安裝 Wireshark。
    針對 RHEL/CentOS 6:
    sudo yum install wireshark
    針對 Ubuntu 20.04/18.04/16.04:
    sudo apt install tshark
    針對 SLES/SLED 12:
    sudo zypper install wireshark
  2. 使用 VMware Horizon Client 連線至 Linux 桌面平台。
  3. 開啟終端機視窗並執行下列命令以顯示 VMware Blast Extreme 使用的 TCP 套件或 UDP 套件。
    sudo tshark -i any | grep 22443
網路狀況牽動著 USB 重新導向和用戶端磁碟機重新導向 (CDR) 功能的效用。如果網路狀況不佳 (例如,因頻寬受限而導致時間延遲和封包遺失),使用者體驗就會變差。在這種情況下,使用者可能會遇到下列其中一種狀況。
  • 遠端檔案的複製可能會很慢。在此情況下,請改為傳輸較小的檔案。
  • USB 裝置未出現在遠端 Linux 桌面平台中。
  • USB 資料未完整傳輸。例如,在複製大型檔案時,您取得的檔案大小可能會小於原始檔案。

USB 重新導向的 VHCI 驅動程式

USB 重新導向功能對 USB 虛擬主機控制器介面 (VHCI) 核心驅動程式具有相依性。若要支援 USB 3.0 和 USB 重新導向功能,您必須執行下列步驟:

  1. https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/下載 USB VHCI 原始程式碼。
  2. 若要編譯 VHCI 驅動程式原始程式碼,並在您的 Linux 系統上安裝產生的二進位檔,請使用表格中執行以下步驟的命令。
    例如,如果您將安裝檔案 VMware-horizonagent-linux-x86_64-<version>-<build-number>.tar.gz 解壓縮到 /install_tmp/ 目錄下,則 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
備註: 安裝 Horizonfor Linux 之前必須完成 VHCI 驅動程式安裝。
表 8. 編譯及安裝 USB VHCI 驅動程式
Linux 發行版 編譯及安裝 USB VHCI 驅動程式的步驟
Ubuntu 20.04/18.04
  1. 安裝相依性套件。
    # apt-get install make
    # apt-get install gcc
    # apt-get install libelf-dev
  2. 編譯及安裝 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

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

  1. 安裝相依性套件。
    # 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. 編譯及安裝 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) 若要確保 VHCI 驅動程式可與 USB 重新導向正常搭配運作,請設定 USB 驅動程式的簽署設定。
    1. 建立 USB 驅動程式的 SSL 金鑰配對。
      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. 簽署 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. 登錄用於 UEFI 安全開機的金鑰。
      sudo mokutil --import MOK.der
      備註: 此命令會發出要求,以設定用於 UEFI 安全開機的機器擁有者金鑰 (MOK) 密碼。
    4. 若要在 vSphere 主控台中設定 UEFI 安全開機,請將系統重新開機。如需詳細資訊,請參閱 https://sourceware.org/systemtap/wiki/SecureBoot

SLED/SLES 12 SP2

  1. 找出目前核心套件的版本。
    # rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    輸出結果為目前所安裝核心套件的名稱。例如,如果套件名稱為 kernel-default-3.0.101-63.1,則目前的核心套件版本將是 3.0.101-63.1。

  2. 安裝 kernel-develkernel-default-develkernel-macrospatch 套件。
    # zypper install --oldpackage kernel-devel-<kernel-package-version> \
    kernel-default-devel-<kernel-package-version> kernel-macros-<kernel-package-version> patch
    例如:
    # 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. 編譯及安裝 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

此外,請遵循下列指導方針:

  • 如果您的 Linux 核心變更為新版本,則必須重新編譯並重新安裝 VHCI 驅動程式,但不需重新安裝 Horizon for Linux。
  • 您也可以使用與 Ubuntu 20.04/18.04/16.04 系統的下列範例相類似的步驟,將動態核心模組支援 (DKMS) 新增至 VHCI 驅動程式。
    1. 安裝核心標頭。
      # apt install linux-headers-`uname -r`
    2. 使用下列命令安裝 dkms
      # apt install dkms
    3. 解壓縮並修補 VHCI TAR 檔案。
      # tar xzvf vhci-hcd-1.15.tar.gz
      # cd vhci-hcd-1.15
      # patch -p1 <full-path_to_patch-file>
      # cd ..
    4. 將解壓縮的 VHCI 來源檔案複製到 /usr/src 目錄。
      # cp -r vhci-hcd-1.15 /usr/src/usb-vhci-hcd-1.15
    5. 建立名為 dkms.conf 的檔案,並將其置於 /usr/src/usb-vhci-hcd-1.15 目錄中。
      # touch /usr/src/usb-vhci-hcd-1.15/dkms.conf
    6. 將下列內容新增至 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. dkms 中新增此 VHCI 驅動程式。
      # dkms add usb-vhci-hcd/1.15
    8. 建置 VHCI 驅動程式。
      # dkms build usb-vhci-hcd/1.15
    9. 安裝 VHCI 驅動程式。
      # dkms install usb-vhci-hcd/1.15