Horizon 7 for Linux をインストールするには、Linux システムがオペレーティング システム、Horizon 7 および vSphere プラットフォームの特定の要件を満たしている必要があります。

Horizon Agent でサポートされる Linux バージョン

View Agent でサポートされる Linux オペレーティング システムに、デスクトップ プール内の仮想マシンでサポートされる Linux オペレーティング システムの一覧を示します。

表 1. Horizon Agent でサポートされる Linux オペレーティング システム

Linux ディストリビューション

アーキテクチャ

Ubuntu 14.04、16.04 および 18.04

注:

VMware ナレッジベースの記事 http://kb.vmware.com/kb/2151294 で説明されている解決策のいずれかを行う必要があります。

x64

Ubuntu 12.04

x64

RHEL 6.6、6.7、6.8、6.9、6.10、7.2、7.3、7.4 および 7.5

x64

CentOS 6.6、6.7、6.8、6.9、6.10、7.2、7.3、7.4 および 7.5

x64

NeoKylin 6 Update 1

x64

SLED 11 SP3/SP4

x64

SLED 12 SP1/SP2/SP3

x64

SLES 12 SP1/SP2/SP3

x64

注:

Linux エージェントは、一部の Linux ディストリビューションで依存パッケージを使用します。詳細については、Horizon Agent 用依存パッケージのインストールを参照してください。

必須のプラットフォームと Horizon 7 ソフトウェア バージョン

Horizon 7 for Linux をインストールして使用するには、環境が vSphere プラットフォーム、Horizon 7Horizon Client ソフトウェアの特定の要件を満たしている必要があります。

表 2. 必須のプラットフォームと Horizon 7 ソフトウェア バージョン

プラットフォームとソフトウェア

サポートされているバージョン

vSphere プラットフォームのバージョン

  • vSphere 6.0 U2 以降のリリース

  • vSphere 6.5 U1 以降のリリース

  • vSphere 6.7 以降のリリース

Horizon 環境

  • Horizon 接続サーバ 7.7

Horizon Client ソフトウェア

  • Horizon Client 4.10.0 for Android

  • Horizon Client 4.10.0 for Windows

  • Horizon Client 4.10.0 for Linux

  • Horizon Client 4.10.0 for Mac OS X

  • Horizon Client 4.10.0 for iOS (iPad Pro)

  • Chrome、Firefox、Internet Explorer での HTML Access 4.10.0

  • ゼロ クライアントはサポートされません

Linux 仮想マシンにより使用される TCP/UDP ポート

Horizon Agent と Horizon Client は、互いのネットワーク アクセスや各種 Horizon サーバ コンポーネント間のネットワーク アクセスに TCP または UDP ポートを使用します。

表 3. Linux 仮想マシンにより使用される TCP/UDP ポート

送信元

ポート

送信先

ポート

プロトコル

説明

Horizon Client

*

Linux Agent

22443

TCP/UDP

Blast Security Gateway が使用されない場合は Blast

セキュリティ サーバ、Horizon 接続サーバ、または Access Point アプライアンス

*

Linux Agent

22443

TCP/UDP

Blast Security Gateway が使用される場合は Blast

Horizon Agent

*

Horizon 接続サーバ

4001、4002

TCP

JMS SSL トラフィック。

注:

クライアントにより使用される TCP および UDP ポートの詳細については、『Horizon Client および Horizon Agent のセキュリティ』ドキュメントで「クライアントおよび Horizon Agent により使用される TCP および UDP ポート」を参照してください。

ユーザーが自分の Linux デスクトップに接続できるようにするには、Horizon Client デバイス、セキュリティ サーバ、および Horizon Connection Server から受信する TCP 接続をデスクトップが受け入れることができる必要があります。

Ubuntu および Kylin ディストリビューションでは、iptables ファイアウォールがデフォルトで構成されており、入力ポリシーが ACCEPT に設定されています。

RHEL および CentOS ディストリビューションでは、可能な場合、Horizon Agent インストーラ スクリプトが、入力ポリシーを ACCEPT にして iptables ファイアウォールを構成します。

RHEL や CentOS ゲスト OS の iptables では、Blast ポート 22443 からの新しい接続について入力ポリシーが ACCEPT になっていることを確認します。

BSG が有効な場合、クライアント接続はセキュリティ サーバまたは Horizon Connection Server の BSG を介して Horizon Client デバイスから Linux デスクトップに送られます。BSG が有効ではない場合、Horizon Client デバイスは Linux デスクトップに直接接続されます。

Linux 仮想マシンにより使用される Linux アカウントの確認

アカウント名およびアカウント タイプに、Linux 仮想マシンで使用されるアカウント名とアカウント タイプを示します。

表 4. アカウント名およびアカウント タイプ

アカウント名

アカウント タイプ

使用

ルート

Linux OS に組み込み

Java スタンドアローン エージェント、mksvchanserver、シェル スクリプト

vmwblast

Linux Agent インストーラが作成

VMwareBlastServer

<現在のログイン ユーザー>

Linux OS に組み込み、Active Directory ユーザー、または LDAP ユーザー

Python スクリプト

デスクトップ環境

Horizon 7 for Linux は、異なる Linux ディストリビューションで複数のデスクトップ環境をサポートします。サポート対象のデスクトップ環境に、各 Linux ディストリビューションのデフォルトのデスクトップ環境と Horizon 7 for Linux でサポートされる追加のデスクトップ環境の一覧を示します。

表 5. サポート対象のデスクトップ環境

Linux ディストリビューション

デフォルトのデスクトップ環境

Horizon 7 for Linux デスクトップでサポートされるデスクトップ環境

Ubuntu 18.04

Gnome

Gnome Ubuntu、K デスクトップ環境 (KDE)、MATE

Ubuntu 16.04

Unity

Gnome Flashback (Metacity)、KDE、MATE

Ubuntu 14.04

Unity

Gnome Fallback (Metacity)、KDE、MATE

Ubuntu 12.04

Unity

Unity

RHEL/CentOS 6.x

Gnome

Gnome、KDE

RHEL/CentOS 7.x

Gnome

Gnome、KDE

SLED 11 SP4

Gnome

Gnome、KDE

SLED 12 SP1/SP2/SP3

Gnome

Gnome

SLES 12 SP1/SP2/SP3

Gnome

Gnome

NeoKylin 6 Update 1

Mate

Mate

サポートされている Linux ディストリビューションのいずれかで使用するデフォルト デスクトップ環境を変更するには、次の手順に従って、Linux デスクトップに適切なコマンドを使用する必要があります。

注:

KDE と MATE デスクトップ環境のシングル サインオン (SSO) は、Linux デスクトップがデフォルトのログイン画面を使用している場合にのみ機能します。デスクトップ環境のインストール コマンドにあるコマンドを使用して、KDE と MATE をインストールする必要があります。

SLED 11 SP3/SP4、RHEL/CentOS 7、Ubuntu 14.04/16.04/18.04 ディストリビューションを使用している場合、ロックされた KDE セッションを SSO でロック解除することはできません。パスワードを入力して、手動でロックされているセッションを手動でロック解除する必要があります。

  1. デフォルトのデスクトップ環境の設定を使用して、サポートされている Linux ディストリビューションのオペレーティング システムをインストールします。

  2. ご使用の Linux ディストリビューションに適切なコマンドを実行します。実行するコマンドについては、デスクトップ環境のインストール コマンドを参照してください。

    表 6. デスクトップ環境のインストール コマンド

    Linux ディストリビューション

    新しいデフォルトのデスクトップ環境

    デフォルトのデスクトップ環境を変更するコマンド

    RHEL/CentOS 6

    KDE

    # yum	groupinstall "X Window System" "KDE Desktop"

    RHEL/CentOS 7

    KDE

    # yum	groupinstall "KDE Plasma Workspaces"

    SLED 11 SP4

    KDE

    # zypper install -t	pattern desktop-kde

    Ubuntu 14.04/16.04/18.04

    KDE

    # apt install plasma-desktop

    Ubuntu 18.04

    MATE 1.225

    # apt install	ubuntu-mate-desktop

    Ubuntu 16.04

    MATE 1.16

    # apt-add-repository ppa:ubuntu-mate-dev/xenial-mate 
    # apt update
    # apt upgrade
    # apt install	mate
    # apt install	ubuntu-mate-themes

    Ubuntu 14.04

    MATE 1.8

    # apt-add-repository ppa:ubuntu-mate-dev/ppa
    # apt-add-repository ppa:ubuntu-mate-dev/trusty-mate
    # apt-get update
    # apt-get upgrade
    # apt-get	install mate

    Ubuntu 16.04

    Gnome Flashback (Metacity)

    # apt install gnome-session-flashback

    Ubuntu 14.04

    Gnome Fallback (Metacity)

    # apt-get install gnome-session-fallback
  3. 新しいデフォルトのデスクトップ環境を開始するには、デスクトップを再起動します。

複数のデスクトップ環境がインストールされている Linux デスクトップで SSO を有効にした場合は、次の情報を使用して、SSO セッションで使用するデスクトップ環境を選択します。

  • Ubuntu 14.04/16.04/18.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 と SLED 11 SP3/SP4 で SSO ログイン セッションに KDE を使用する場合には、KDE スタートアップ ファイルを除く、すべてのデスクトップ スタートアップ ファイルを /usr/share/xsession ディレクトリから削除します。たとえば、次のコマンド セットを使用します。

    # cd /usr/share/xsessions
    # mkdir backup
    # mv *.desktop backup
    # mv backup/kde*.desktop ./

    次の SSO セッションでデフォルトのデスクトップとして KDE を使用するには、初期セットアップの後、エンド ユーザーは Linux デスクトップからログアウトするか、システムを再起動する必要があります。

複数のデスクトップ環境がインストールされている 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 14.04/16.04/18.04 の場合:

    sudo apt install tshark

    SLE 11/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 リダイレクト機能は、Horizon 7 for Linux バージョン 7.1 のデスクトップからサポートされています。この機能は、USB VHCI (Virtual Host Controller Interface) カーネル ドライバに依存します。USB 3.0 を使用するには、VHCI ドライバにパッチを適用する必要があります。

Horizon for Linux インストーラには、サポートされる Linux ディストリビューションのデフォルト カーネル用の VHCI ドライバ バイナリが含まれています。USB リダイレクト機能を選択すると、VHCI ドライバがインストールされます。デフォルトのカーネル バージョンに、Horizon for Linux インストーラがインストールするデフォルトのカーネル バージョンが記載されています。

表 8. デフォルトのカーネル バージョン

Linux ディストリビューション

デフォルトのカーネル バージョン

RHEL/CentOS 6.9

2.6.32-696.el6.x86_64

RHEL/CentOS 6.10

2.6.32-754.el6.x86_64

RHEL/CentOS 7.5

3.10.0-862.el7.x86_64

SUSE 12 SP2

4.4.21-69-default

Ubuntu 14.04

3.13.0-24-generic

Ubuntu 16.04

4.4.0-21-generic

Ubuntu 18.04

4.15.0-20-generic

Linux システムで Horizon for Linux インストーラに含まれるデフォルト バージョンと異なるカーネル バージョンを使用している場合には、https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/ から USB VHCI ソース コードをダウンロードする必要があります。VHCI ドライバのソース コードをコンパイルし、結果のバイナリを Linux システムにインストールする必要があります。

注:

Horizon for Linux をインストールする前に、VHCI ドライバをインストールする必要があります。

USB VHCI ドライバのソース コードの最新バージョンをダウンロードした後、USB 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

表 9. USB VHCI ドライバのコンパイルとインストール

Linux ディストリビューション

USB VHCI ドライバのコンパイルとインストールの手順

Ubuntu 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 14.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

  1. 依存パッケージをインストールします。

    # yum install gcc-c++
    # yum install kernel-devel-$(uname -r)
    # yum install kernel-headers-$(uname -r)
    # yum install patch
  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

SUSE 11 SP4

SUSE 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. 依存パッケージをインストールします。

    1. SUSE 11 の場合、現在のカーネルに一致する kernel-source パッケージと kernel-default-devel パッケージをインストールします。gcc パッケージと patch パッケージをインストールします。

       # zypper install --oldpackage kernel-source-<kernel-package-version> \
      kernel-default-devel-<kernel-package-version> gcc patch

      例:

       # zypper install --oldpackage kernel-source-3.0.101-63.1 kernel-default-devel-3.0.101-63.1 gcc patch

    2. SUSE 12 の場合、kernel-develkernel-default-develkernel-macros および patch パッケージをインストールします。

    # 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 16.04/18.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. この VHCI ドライバを dkms に追加します。

    # 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