Horizon Agent for Linux をインストールするには、Linux オペレーティング システム、Linux 仮想マシン、Horizon 8 システム コンポーネント、vSphere プラットフォームの特定の要件を満たす必要があります。
Horizon Agent でサポートされる Linux ディストリビューション
次の表に、Horizon Agent でテスト済みで、サポートされている Linux オペレーティング システムを示します。
| Linux ディストリビューション | アーキテクチャ |
|---|---|
| Ubuntu 20.04 および 22.04 | x64 |
| Debian 10.13、11.5、11.6、11.7 | x64 |
| Red Hat Enterprise Linux (RHEL) Workstation 7.9、8.6、8.7、8.8、9.0、9.1、9.2 | x64 |
| Red Hat Enterprise Linux (RHEL) Server 7.9、8.6、8.7、8.8、9.0、9.1、9.2 | x64 |
| Rocky Linux 8.8、9.2 | x64 |
| CentOS 7.9 | x64 |
| SUSE Linux Enterprise Desktop (SLED) 15 SP3 および 15 SP4 | x64 |
| SUSE Linux Enterprise Server (SLES) 15 SP3 および 15 SP4 | x64 |
**注:**Horizon Agent は、一部の Linux ディストリビューションで依存パッケージを使用します。詳細については、「Horizon Agent 用依存パッケージのインストール」を参照してください。
一部の機能は、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 および Debian ディストリビューションでは、iptables ファイアウォールがデフォルトで構成されており、入力ポリシーが ACCEPT に設定されています。
RHEL、Rocky Linux、および CentOS ディストリビューションでは、可能な場合、Horizon Agent インストーラ スクリプトが、INPUT ポリシーを ACCEPT にして iptables ファイアウォールを構成します。着信接続を確実にサポートするには、Blast ポート 22443 を介した新しい接続に対して、iptables の入力ポリシーが ACCEPT に設定されていることを確認します。
Blast Secure Gateway (BSG) を有効にすると、クライアント接続は Horizon Connection Server の BSG を介して Horizon Client デバイスから Linux デスクトップに送られます。BSG を有効にしない場合、Horizon Client デバイスは Linux デスクトップに直接接続されます。
Linux デスクトップで Horizon Agent が使用するポートの詳細については、『Horizon セキュリティ』と『Horizon 8 のネットワーク ポート』を参照してください。
Linux 仮想マシンにより使用される Linux アカウントの確認
次の表は、Linux 仮想マシンにより使用されるアカウント名とアカウント タイプを示しています。
| アカウント名 | アカウント タイプ | 使用 |
|---|---|---|
| ルート | Linux OS に組み込み | Java Standalone Agent、mksvchanserver、シェル スクリプト |
| <現在のログイン ユーザー> | Linux OS に組み込み、Active Directory ユーザー、または LDAP ユーザー | Python スクリプト |
デスクトップ環境
Horizon Agent for Linux は、異なる Linux ディストリビューションで複数のデスクトップ環境をサポートします。以下の表に、各 Linux ディストリビューションのデフォルトのデスクトップ環境と Horizon Agent for Linux でサポートされる他のデスクトップ環境の一覧を示します。
| Linux ディストリビューション | デフォルトのデスクトップ環境 | Horizon Agent for Linux でサポートされるデスクトップ環境 |
|---|---|---|
| Ubuntu | Gnome | Gnome Ubuntu、K デスクトップ環境 (KDE)、MATE |
| Debian | Gnome | Gnome、KDE、MATE |
| RHEL および Rocky Linux 8.x/9.x | Gnome | Gnome |
| RHEL 7.9 | Gnome | Gnome、KDE、MATE |
| CentOS 7.9 | Gnome | Gnome、KDE |
| SLED/SLES | Gnome | Gnome |
**注:**RHEL/CentOS 7.x または Ubuntu ディストリビューションを使用している場合、ロックされた KDE セッションを SSO でロック解除することはできません。パスワードを入力して、手動でロックされているセッションを手動でロック解除する必要があります。
サポートされている Linux ディストリビューションのいずれかで使用するデフォルト デスクトップ環境を変更するには、次の手順に従って、Linux デスクトップに適切なコマンドを使用する必要があります。
-
デフォルトのデスクトップ環境の設定を使用して、サポートされている Linux ディストリビューションのオペレーティング システムをインストールします。
-
以下の表を参照して、特定の Linux ディストリビューションに適切なコマンドを実行します。
デスクトップ環境のインストール コマンド Linux ディストリビューション 新しいデフォルトのデスクトップ環境 デフォルトのデスクトップ環境を変更するコマンド RHEL/CentOS 7.9 KDE yum groupinstall "KDE Plasma Workspaces"RHEL 7.9 MATE rpm -ivh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpmyum groupinstall -y "MATE Desktop"Ubuntu KDE apt install plasma-desktopUbuntu MATE apt install ubuntu-mate-desktop- 新しいデフォルトのデスクトップ環境を開始するには、デスクトップを再起動します。
複数のデスクトップ環境がインストールされている Linux デスクトップで SSO を有効にした場合は、次の情報を使用して、SSO セッションで使用するデスクトップ環境を選択します。
-
Ubuntu、RHEL/CentOS 7.x の場合には、以下の表の情報を使用して、
viewagent-custom.confファイルに SSODesktopType オプションを設定し、SSO で使用するデスクトップ環境を指定します。SSODesktopType オプション デスクトップ タイプ SSODesktopType オプションの設定 MATE SSODesktopType=UseMATE GnomeUbuntu SSODesktopType=UseGnomeUbuntu GnomeFlashback SSODesktopType=UseGnomeFlashback KDE SSODesktopType=UseKdePlasma GnomeClassic SSODesktopType=UseGnomeClassic -
RHEL および Rocky Linux 9.x/8.x で SSO ログイン セッションに Gnome Classic を使用する場合には、Gnome Classic スタートアップ ファイルを除く、すべてのデスクトップ スタートアップ ファイルを
/usr/share/xsessionディレクトリから削除します。たとえば、root ユーザーとして次のコマンド セットを実行します。cd /usr/share/xsessions mkdir backup mv *.desktop backup mv backup/gnome-classic.desktop ./次の SSO セッションでデフォルトのデスクトップとして Gnome Classic を使用するには、初期セットアップの後、エンド ユーザーは Linux デスクトップからログアウトするか、システムを再起動する必要があります。
複数のデスクトップ環境がインストールされている Linux デスクトップで SSO を無効にした場合には、前述の手順を行う必要はありません。エンド ユーザーが Linux デスクトップにログインするときに、必要なデスクトップ環境を選択します。
ネットワーク要件
Horizon Blast Extreme は、UDP ( ユーザー データグラム プロトコル) と TCP (伝送制御プロトコル) の両方をサポートします。ネットワーク条件は、UDP と TCP のパフォーマンスに影響を及ぼします。最高のユーザー エクスペリエンスを実現するには、ネットワーク条件に応じて UDP または TCP を選択します。
- ローカル エリア ネットワーク (LAN) 環境など、ネットワーク条件が良好な場合には TCP を選択します。
- パケット ロスや遅延が発生するワイド エリア ネットワーク (WAN) 環境など、ネットワーク条件が良好でない場合には UDP を選択します。
Wireshark などのネットワーク アナライザ ツールを使用して、Horizon Blast Extreme が TCP と UDP のどちらを使用するかを確認します。次の手順を行います。ここでは例として Wireshark を使用しています。
-
Linux 仮想マシンに Wireshark をダウンロードして、インストールします。
RHEL/CentOS および Rocky Linux の場合:
sudo yum install wiresharkUbuntu の場合:
sudo apt install tshark -
Horizon Client を使用して、Linux デスクトップに接続します。
-
ターミナル ウィンドウを開き、次のコマンドを実行します。Horizon Blast Extreme が使用する TCP パッケージまたは UDP パッケージが表示されます。
sudo tshark -i any | grep 22443
USB リダイレクトとクライアント ドライブのリダイレクト (CDR) 機能はネットワーク条件に依存します。パケット ロスや遅延で帯域幅に制限があるなど、ネットワーク条件が良好でないと、ユーザー エクスペリエンスが低下します。このような場合、次のいずれかが発生する可能性があります。
- リモート ファイルのコピーが低速になる。この場合、サイズの小さいファイルを送信します。
- USB デバイスがリモートの Linux デスクトップに表示されない。
- USB データの転送が不完全になります。たとえば、サイズの大きいファイルをコピーした場合、元のファイルよりもサイズが小さくなる可能性があります。
USB リダイレクトのための VHCI ドライバ
**注:**VHCI ドライバの正しいインストール手順を決定するには、次のガイドラインに従います。
.tar.gztar 形式インストーラを使用して Horizon Agent をインストールする場合は、まず tar 形式インストーラをダウンロードして解凍し、次に VHCI ドライバをインストールしてから、USB リダイレクト機能のインストール パラメータを指定して Horizon Agent をインストールする必要があります。.rpmRPM インストーラを使用して Horizon Agent をインストールする場合は、まず Horizon Agent をインストールしてから VHCI ドライバをインストールし、USB リダイレクト機能を Horizon Agent 構成に追加する必要があります。
詳細については、「Linux 仮想マシンでの Horizon Agent のインストール」を参照してください。
USB リダイレクト機能は、USB VHCI (Virtual Host Controller Interface) カーネル ドライバに依存します。USB 3.0 と USB リダイレクト機能をサポートするには、次の手順を行い、VHCI ドライバをインストールする必要があります。
- https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/ から USB VHCI ソース コードをダウンロードします。
- Horizon Agent インストーラの形式に応じて、VHCI パッチ ファイルのフル パスを確認します。ガイドラインについては、次の例を参照してください。
- (tar 形式インストーラ)tar 形式インストーラをダウンロードしてディレクトリに解凍する場合。
- (RPM インストーラ)RPM インストーラをダウンロードして Horizon Agent をインストールする場合。
- VHCI ドライバのソース コードをコンパイルして、その結果のバイナリを Linux システムにインストールするには、以下の表のコマンドを使用します。コマンドの
full-path_to_patch-fileを前の手順で特定したファイル パスに置き換えます。
USB VHCI ドライバのコンパイルとインストール Linux ディストリビューション USB VHCI ドライバのコンパイルとインストールの手順 Ubuntu - 依存パッケージをインストールします。
<pre><code>sudo apt-get install makesudo apt-get install gcc sudo apt-get install libelf-dev
- (Ubuntu 22.04) カーネル ヘッダー ファイルをインストールします。
<pre><code>sudo apt-get install linux-headers-$(uname -r)</code></pre></li> - VHCI ドライバをコンパイルし、インストールします。
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd vhci-hcd-1.15 patch -p1 < full-path_to_patch-file make clean && make && sudo make install
- 仮想マシンで拡張ファームウェア インターフェイス (EFI) と UEFI セキュア ブートを有効にしている場合は、VHCI ドライバの署名を設定します。
<ol> <li>VHCI ドライバの SSL キー ペアを作成します。 <pre><code>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</code></pre> </li> <li>VHCI ドライバに署名します。 <pre><code>sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-iocifc.kosudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-hcd.ko
- UEFI セキュア ブートにキーを登録します。
<pre><code>sudo mokutil --import MOK.der</code></pre> <strong>注:</strong>このコマンドは、UEFI セキュア ブートのマシン所有者キー (MOK) のパスワードを設定するように要求します。 </li> <li>vSphere コンソールで UEFI セキュア ブートを設定するには、システムを再起動します。詳細については、<a href="https://sourceware.org/systemtap/wiki/SecureBoot">https://sourceware.org/systemtap/wiki/SecureBoot</a> を参照してください。 </li> </ol></li>
Debian - 依存パッケージをインストールします。
<pre><code>sudo apt install -y patch g++ make linux-headers-$(uname -r)</code></pre></li> - VHCI ドライバをコンパイルし、インストールします。
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd 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 && sudo make install
RHEL/CentOS 7.x RHEL 8.x/9.x Rocky Linux 8.x/9.x - 依存パッケージをインストールします。
<pre><code>sudo yum install gcc-c++sudo yum install kernel-devel-$(uname -r) sudo yum install kernel-headers-$(uname -r) sudo yum install patch sudo yum install elfutils-libelf-devel
- VHCI ドライバをコンパイルし、インストールします。
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd vhci-hcd-1.15 patch -p1 < full-path_to_patch-file make clean && make && sudo make install
- (RHEL および Rocky Linux 9.x/8.x)VHCI ドライバが USB リダイレクトで正常に動作するようには、ドライバの署名を設定します。
<ol> <li>VHCI ドライバの SSL キー ペアを作成します。 <pre><code>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</code></pre> </li> <li>VHCI ドライバに署名します。 <pre><code>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.kosudo /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
- UEFI セキュア ブートにキーを登録します。
<pre><code>sudo mokutil --import MOK.der</code></pre> <strong>注:</strong>このコマンドは、UEFI セキュア ブートのマシン所有者キー (MOK) のパスワードを設定するように要求します。 </li> <li>vSphere コンソールで UEFI セキュア ブートを設定するには、システムを再起動します。詳細については、<a href="https://sourceware.org/systemtap/wiki/SecureBoot">https://sourceware.org/systemtap/wiki/SecureBoot</a> を参照してください。 </li> </ol></li>
SLED/SLES - 現在のカーネル パッケージのバージョンを検索します。
<pre><code>rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)</code></pre> 現在インストールされているカーネル パッケージの名前が出力されます。たとえば、パッケージ名が <code>kernel-default-3.0.101-63.1</code> の場合、現在のカーネル パッケージのバージョンは 3.0.101-63.1 になります。</li> kernel-devel、kernel-default-devel、kernel-macros、patchパッケージをインストールします。<pre><code>sudo zypper install --oldpackage kernel-devel-<em><kernel-package-version></em> \kernel-default-devel-<kernel-package-version> kernel-macros-<kernel-package-version> patch 例:
sudo 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- VHCI ドライバをコンパイルし、インストールします。
<pre><code>tar -xzvf vhci-hcd-1.15.tar.gzcd 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 && sudo make install
- VHCI ドライバが USB リダイレクトで正常に動作するようには、ドライバの署名設定を行います。
<ol> <li>VHCI ドライバの SSL キー ペアを作成します。 <pre><code>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</code></pre> </li> <li>VHCI ドライバの署名ファイルのパスを検索します。 <pre><code>sudo find / -name sign-file</code></pre> このコマンドを実行すると、システム上にあるすべての署名ファイルへのパスが返されます。VHCI ドライバの署名ファイルのパスは、次のようになります。 <pre><code>/usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/</code></pre> </li> <li>VHCI ドライバに署名します。次のコマンドで、<sign-file-path> は、手順 4b で確認した署名ファイルのパスです。 <pre><code>sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-iocifc.kosudo /<sign-file-path>/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/kernel/drivers/usb/host/usb-vhci-hcd.ko
- UEFI セキュア ブートにキーを登録します。
<pre><code>sudo mokutil --import MOK.der</code></pre> <strong>注:</strong>このコマンドは、UEFI セキュア ブートのマシン所有者キー (MOK) のパスワードを設定するように要求します。 </li> <li>vSphere コンソールで UEFI セキュア ブートを設定するには、システムを再起動します。詳細については、<a href="https://sourceware.org/systemtap/wiki/SecureBoot">https://sourceware.org/systemtap/wiki/SecureBoot</a> を参照してください。 </li> </ol></li>
また、次のガイドラインに従ってください。
- Linux カーネルが新しいバージョンが変更された場合は、VHCI ドライバを再コンパイルして再インストールする必要がありますが、Horizon Agent for Linux を再インストールする必要はありません。
- また、Ubuntu システムの場合、次の例に類似した手順で動的カーネル モジュール サポート (DKMS) を VHCI ドライバに追加できます。
-
カーネル ヘッダーをインストールします。
sudo apt install linux-headers-`uname -r` -
次のコマンドを使用して、
dkmsをインストールします。sudo 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ディレクトリにコピーします。sudo cp -r vhci-hcd-1.15 /usr/src/usb-vhci-hcd-1.15 -
dkms.confという名前のファイルを作成し、/usr/src/usb-vhci-hcd-1.15ディレクトリに配置します。sudo 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" -
この VHCI ドライバを
dkmsに追加します。sudo dkms add usb-vhci-hcd/1.15 -
VHCI ドライバをビルドします。
sudo dkms build usb-vhci-hcd/1.15 -
VHCI ドライバをインストールします。
sudo dkms install usb-vhci-hcd/1.15
-
このページは役に立ちましたか?