USBリダイレクトの構成
USBデバイスは、Citrix Workspace™アプリとLinux VDAデスクトップ間で共有されます。USBデバイスがデスクトップにリダイレクトされると、ユーザーはローカルに接続されているかのようにUSBデバイスを使用できます。
ヒント:
ネットワーク遅延が100ミリ秒未満の場合は、USBリダイレクトを使用することをお勧めします。ネットワーク遅延が200ミリ秒を超える場合は、USBリダイレクトを使用しないでください。
USBリダイレクトには、主に3つの機能領域があります。
-
オープンソースプロジェクトの実装 (VHCI)
-
VHCIサービス
-
USBサービス
オープンソースVHCI:
USBリダイレクト機能のこの部分は、IPネットワークを介した汎用USBデバイス共有システムを開発します。これは、Linuxカーネルドライバーと、カーネルドライバーと通信してすべてのUSBデータを取得できるいくつかのユーザーモードライブラリで構成されています。Linux VDAの実装では、CitrixはVHCIのカーネルドライバーを再利用します。ただし、Linux VDAとCitrix Workspaceアプリ間のすべてのUSBデータ転送は、Citrix ICA®プロトコルパッケージにカプセル化されます。
VHCIサービス:
VHCIサービスは、VHCIカーネルモジュールと通信するためにCitrixが提供するオープンソースサービスです。このサービスは、VHCIとCitrix USBサービス間のゲートウェイとして機能します。
USBサービス:
USBサービスは、USBデバイス上のすべての仮想化とデータ転送を管理するCitrixモジュールを表します。
USBリダイレクトの仕組み
通常、USBデバイスがLinux VDAに正常にリダイレクトされると、システム /dev パスに1つ以上のデバイスノードが作成されます。ただし、リダイレクトされたデバイスがアクティブなLinux VDAセッションで使用できない場合があります。USBデバイスは、適切に機能するためにドライバーに依存しており、一部のデバイスには特別なドライバーが必要です。ドライバーが提供されていない場合、リダイレクトされたUSBデバイスはアクティブなLinux VDAセッションからアクセスできません。USBデバイスの接続を確保するには、ドライバーをインストールし、システムを適切に構成してください。
Linux VDA は、クライアントとの間で正常にリダイレクトされる USB デバイスのリストをサポートしています。さらに、デバイス、特に USB ディスクは適切にマウントされ、ユーザーは追加設定なしでディスクにアクセスできます。
サポートされている USB デバイス
以下のデバイスは、このバージョンの Linux VDA をサポートすることが検証されています。その他のデバイスも自由に使用できますが、予期しない結果が生じる可能性があります。
注:
Linux VDA は USB 2.0 プロトコルのみをサポートしています。
| USB マスストレージデバイス | VID:PID | ファイルシステム |
|---|---|---|
| ネータック テクノロジー株式会社 | 0dd8:173c | FAT32 |
| キングストン データトラベラー 101 II | 0951:1625 | FAT32 |
| キングストン データトラベラー GT101 G2 | 1567:8902 | FAT32 |
| SanDisk SDCZ80 フラッシュドライブ | 0781:5580 | FAT32 |
| WD HDD | 1058:10B8 | FAT32 |
| USB 3Dマウス | VID:PID |
|---|---|
| 3Dコネクション スペースマウス プロ | 046d: c62b |
| USBスキャナー | VID:PID |
|---|---|
| エプソン パーフェクション V330 フォト | 04B8: 0142 |
USBリダイレクトの構成
Citrixポリシーは、USBデバイスリダイレクトが有効か無効かを制御します。さらに、Delivery Controller™ポリシーを使用してデバイスの種類を指定することもできます。Linux VDAのUSBリダイレクトを構成する場合、次のポリシーとルールを構成します。
-
クライアントUSBデバイスリダイレクトポリシー
-
クライアントUSBデバイスリダイレクト規則
USBリダイレクトを有効にする
Citrix Studioで、クライアントとの間でUSBデバイスリダイレクトを有効(または無効)にします(ワークステーションホストのみ)。
設定の編集ダイアログで:
-
許可を選択します。
-
OKをクリックします。
USBリダイレクトを有効にする(/en-us/linux-virtual-delivery-agent/2110/media/client-usb-redirection-policy.png)
USBリダイレクトルールを設定する
USBリダイレクトポリシーを有効にした後、Citrix Studioを使用して、Linux VDAで許可(または拒否)するデバイスを指定してリダイレクトルールを設定します。
クライアントUSBデバイスリダイレクトルールダイアログで:
-
リダイレクトルールを追加するには新規をクリックし、既存のルールを確認するには編集をクリックします。
-
ルールを作成(または編集)したら、OKをクリックします。
クライアントUSBリダイレクトルール設定(/en-us/linux-virtual-delivery-agent/2110/media/client-usb-redirection-rule.png)
VHCIカーネルモジュールをビルドする
USBリダイレクトはVHCIカーネルモジュール(
usb-vhci-hcd.koおよびusb-vhci-iocif.ko)に依存します。これらのモジュールはLinux VDAディストリビューションの一部(RPMパッケージの一部)です。これらは公式のLinuxディストリビューションカーネルに基づいてコンパイルされており、次の表に示されています。
| サポートされているLinuxディストリビューション | カーネルバージョン |
|---|---|
| RHEL 8.3、CentOS 8.3 | 4.18.0-240 |
| RHEL 8.2、CentOS 8.2 | 4.18.0-240 |
| RHEL 8.1、CentOS 8.1 | 4.18.0-240 |
| RHEL 7.9、CentOS 7.9 | 3.10.0-1160 |
| RHEL 7.8、CentOS 7.8 | 3.10.0-1160 |
| SUSE 12.5 | 4.12.14 |
| ウブントゥ 20.04 | 5.4.0-81 |
| ウブントゥ 18.04 | 4.15.0-154 |
| ウブントゥ 16.04 | 4.4.0-210 |
| デビアン 10 | 4.19.0-17 |
重要:
マシンのカーネルがLinux VDA用にビルドされたドライバーと互換性がない場合、USBサービスが起動に失敗する可能性があります。この場合、独自のVHCIカーネルモジュールをビルドした場合にのみ、USBリダイレクト機能を使用できます。
カーネルがCitrixによってビルドされたモジュールと整合しているかを確認する
コマンドラインで、次のコマンドを実行してカーネルが整合しているかを確認します。
insmod /opt/Citrix/VDA/lib64/usb-vhci-hcd.ko
コマンドが正常に実行された場合、カーネルモジュールは正常にロードされ、バージョンはCitrixによってインストールされたものと整合しています。
コマンドがエラーで実行された場合、カーネルはCitrixモジュールと整合しておらず、再ビルドする必要があります。
VHCIカーネルモジュールを再ビルドする
カーネルモジュールがCitrixバージョンと整合していない場合は、次の手順を実行します。
-
CitrixダウンロードサイトからLVDAソースコードをダウンロードします。「Linux Virtual Delivery Agent (sources)」セクションに含まれるファイルを選択します。
-
「citrix-linux-vda-sources.zip」ファイルを解凍します。「linux-vda-sources/vhci-hcd-1.15.zip」に移動し、
unzip vhci-hcd-1.15.zipコマンドを使用して VHCI ソースファイルを解凍します。 -
Linux VDA パッケージがインストールされていることを確認してから、次のいずれかのコマンドを実行します。
-
sudo bash ctxusbcfg.sh dkmsこのコマンドを使用すると、Dynamic Kernel Module Support (DKMS) プログラムを使用して VHCI カーネルモジュールを管理できます。DKMS は SUSE では利用できません。注:sudo bash ctxusbcfg.sh dkmsコマンドは、VDA に kernel-devel および DKMS プログラムをインストールします。RHEL および CentOS にプログラムをインストールする場合、このコマンドは VDA に Extra Packages for Enterprise Linux (EPEL) リポジトリをインストールして有効にします。メジャーなカーネルアップグレード(例: バージョン 4.x.y からバージョン 5.x.y へ)を実行すると、DKMS が VHCI カーネルモジュール (usb-vhci-hcd.koおよびusb-vhci-iocif.ko) のビルドに失敗する場合があります。DKMS が失敗した場合は、sudo bash ctxusbcfg.sh dkmsを再度実行してください。 -
sudo bash ctxusbcfg.sh buildこのコマンドは、DKMS オプションなしで VHCI カーネルモジュールをビルドおよびインストールします。
-
USB リダイレクトの問題のトラブルシューティング
このセクションの情報を使用して、Linux VDA の使用中に発生する可能性のあるさまざまな問題のトラブルシューティングを行います。
リダイレクトされた USB ディスクをアンマウントできない
Citrix WorkspaceアプリからリダイレクトされたすべてのUSBディスクのアクセス制御のため、Linux VDAは、所有者のみがリダイレクトされたデバイスにアクセスできるように、これらすべてのデバイスを管理者権限で管理します。その結果、ユーザーは管理者権限なしではデバイスをアンマウントできません。
USB ディスクのリダイレクトを停止するとファイルが失われる
USB ディスクをセッションにリダイレクトし、それを変更しようとした場合(たとえば、ディスク上にいくつかのファイルを作成する)、その後すぐに Citrix Workspace アプリのツールバーを使用してリダイレクトを停止すると、変更または作成したファイルが失われる可能性があります。この問題は、ファイルシステムにデータを書き込む際に、システムがファイルシステム内のメモリキャッシュをマウントするため発生します。データはディスク自体には書き込まれません。Citrix Workspace アプリのツールバーを使用してリダイレクトを停止すると、データがディスクにフラッシュされる時間がなくなり、データが失われます。この問題を解決するには、USB リダイレクトを停止する前に、ターミナルで sync コマンドを使用してデータをディスクにフラッシュしてください。
Citrix Workspace アプリのツールバーにデバイスがない
Citrix Workspaceアプリのツールバーにデバイスが表示されない場合があり、これはUSBリダイレクトが行われていないことを示しています。この問題が発生した場合は、以下を確認してください。
-
USBリダイレクトを許可するようにポリシーが構成されていること
-
カーネルモジュールがご使用のカーネルと互換性があること
Workspaceアプリのツールバーにあるデバイスタブ(/en-us/linux-virtual-delivery-agent/2110/media/client-usb-redirection-troubleshoot.png)
注:
Linux版Citrix Workspaceアプリでは、デバイスタブは利用できません。
Citrix WorkspaceアプリのツールバーにUSBデバイスが表示されるが、「ポリシーによって制限されています」と表示され、リダイレクトに失敗する
この問題が発生した場合は、以下を実行してください。
-
リダイレクトを有効にするようにLinux VDAポリシーを構成します。
-
Citrix Workspaceアプリのレジストリに追加のポリシー制限が構成されていないか確認します。レジストリパスのDeviceRulesを確認して、この設定によってデバイスへのアクセスが拒否されていないことを確認してください。HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Wow6432Node\\Citrix\\ICA Client\\GenericUSB
USBデバイスは正常にリダイレクトされますが、セッションで使用できません
通常、リダイレクトできるのはサポートされているUSBデバイスのみです。他のデバイスもアクティブなLinux VDAセッションにリダイレクトされる場合があります。リダイレクトされたすべてのデバイスについて、システム**/dev**パスにユーザーが所有するノードが作成されます。ただし、ユーザーがデバイスを正常に使用できるかどうかは、ドライバーと構成によって決まります。所有されている(接続されている)がアクセスできないデバイスが見つかった場合は、そのデバイスを無制限のポリシーに追加してください。
注:
USBドライブの場合、Linux VDAはディスクを構成してマウントします。ユーザー(およびそれをインストールした所有者のみ)は、追加の構成なしでディスクにアクセスできます。これは、サポートされているデバイスリストにないデバイスには当てはまらない場合があります。