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デバイス
以下のデバイスは、このバージョンのLinux VDAをサポートすることが確認されています。他のデバイスも自由に使用できますが、予期せぬ結果が生じる可能性があります。
注:
Linux VDAはUSB 2.0プロトコルのみをサポートします。
| USBマスストレージデバイス | VID:PID | ファイルシステム |
|---|---|---|
Netac Technology Co., Ltd |
0dd8:173c | FAT32 |
Kingston Datatraveler 101 II |
0951:1625 | FAT32 |
Kingston Datatraveler GT101 G2 |
1567:8902 | FAT32 |
SanDisk SDCZ80 flash drive |
0781:5580 | FAT32 |
WD HDD |
1058:10B8 | FAT32 |
| USB 3D マウス | VID:PID |
|---|---|
3DConnexion SpaceMouse Pro |
046d: c62b |
| USB スキャナー | VID:PID |
|---|---|
Epson Perfection V330 photo |
04B8: 0142 |
USBリダイレクトの構成
Citrixポリシーは、USBデバイスリダイレクトを有効にするか無効にするかを制御します。デバイスの種類は、Delivery Controller™ポリシーを使用して指定することもできます。Linux VDAのUSBリダイレクトを構成する場合は、次のポリシーとルールを構成します。
-
クライアントUSBデバイスリダイレクトポリシー
-
クライアントUSBデバイスリダイレクト規則
USBリダイレクトを有効にする
Citrix Studioで、クライアントとの間でUSBデバイスリダイレクトを有効(または無効)にします(ワークステーションホストのみ)。
設定の編集ダイアログで、次のようにします。
-
許可を選択します。
-
OKをクリックします。
USBリダイレクトを有効にする(/en-us/linux-virtual-delivery-agent/2206/media/client-usb-redirection-policy.png)
USBリダイレクトルールを設定する
USBリダイレクトポリシーを有効にした後、Citrix Studioを使用して、Linux VDAで許可(または拒否)するデバイスを指定してリダイレクトルールを設定します。
クライアントUSBデバイスリダイレクトルールダイアログで:
-
リダイレクトルールを追加するには新規をクリックし、既存のルールを確認するには編集をクリックします。
-
ルールを作成(または編集)した後、OKをクリックします。
クライアントUSBリダイレクトルール設定(/en-us/linux-virtual-delivery-agent/2206/media/client-usb-redirection-rule.png)
VHCIカーネルモジュールのビルド
USBリダイレクトは、VHCIカーネルモジュール(
usb-vhci-hcd.koおよびusb-vhci-iocif.ko)に依存します。これらのモジュールは、Linux VDAディストリビューション(RPMパッケージの一部として)に含まれています。これらは公式のLinuxディストリビューションカーネルに基づいてコンパイルされており、次の表に示されています。
| サポートされているLinuxディストリビューション | カーネルバージョン |
|---|---|
| アマゾン Linux 2 | 4.14.268-205 |
| デビアン 11.3 | 5.10.0-10 |
| デビアン 10.9 | 4.19.0-19 |
| RHEL 8.x | 4.18.0-240 |
| RHEL 7.9, CentOS 7.9 | 3.10.0-1160 |
| SUSE 15 | 5.3.18 |
| ウブントゥ 20.04 | 5.4.0-81 |
| ウブントゥ 18.04 | 4.15.0-154 |
重要:
マシンのカーネルが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コマンドは、kernel-develとDKMSプログラムをVDAにインストールします。RHELおよびCentOSにプログラムをインストールする場合、このコマンドはExtra Packages for Enterprise Linux (EPEL) リポジトリをVDAにインストールして有効にします。メジャーなカーネルアップグレード(例: バージョン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ディスクをアンマウントできない
Linux VDAは、Citrix Workspace appからリダイレクトされたすべてのUSBディスクを管理者権限で管理し、所有者のみがリダイレクトされたデバイスにアクセスできるようにします。そのため、デバイスは管理者権限でのみアンマウントできます。
USBディスクのリダイレクトを停止するとファイルが失われる
Citrix Workspaceアプリのツールバーを使用してUSBディスクのリダイレクトをすぐに停止すると、ディスク上で変更または作成したファイルが失われる可能性があります。この問題は、ファイルシステムにデータを書き込むときに、システムがファイルシステムにメモリキャッシュをマウントするために発生します。データはディスク自体には書き込まれません。Citrix Workspaceアプリのツールバーを使用してリダイレクトを停止すると、データがディスクにフラッシュされる時間がなくなり、データが失われます。この問題を解決するには、USBリダイレクトを停止する前に、ターミナルでsyncコマンドを使用してデータをディスクにフラッシュしてください。
USBディスクのリダイレクトを停止するとファイルが失われる(/en-us/linux-virtual-delivery-agent/2206/media/file-lost-issue.png)
Citrix Workspaceアプリのツールバーにデバイスがない
Citrix Workspaceアプリのツールバーにデバイスが表示されないことがあり、これはUSBリダイレクトが行われていないことを示します。この問題が発生した場合は、以下を確認してください。
-
USBリダイレクトを許可するようにポリシーが構成されている
-
カーネルモジュールがカーネルと互換性がある
Workspaceアプリのツールバーのデバイスタブ(/en-us/linux-virtual-delivery-agent/2206/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はディスクを構成し、マウントします。ユーザー(およびそれをインストールした所有者のみ)は、追加の構成なしでディスクにアクセスできます。これは、サポートされているデバイスリストにないデバイスには当てはまらない場合があります。