Linux Virtual Delivery Agent

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デバイス

1 2    
以下のデバイスは、このバージョンの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デバイスリダイレクトを有効(または無効)にします(ワークステーションホストのみ)。

[設定の編集]ダイアログで:

  1. [許可]を選択します。
  2. [OK]をクリックします。

Enable USB redirection

USBリダイレクトルールの設定

USBリダイレクトポリシーを有効にした後、Citrix Studioを使用して、Linux VDAで許可(または拒否)されるデバイスを指定することで、リダイレクトルールを設定します。

クライアントUSBデバイスリダイレクトルールダイアログで:

  1. [新規]をクリックしてリダイレクトルールを追加するか、[編集]をクリックして既存のルールを確認します。
  2. ルールを作成(または編集)した後、[OK]をクリックします。

The client USB redirection rule setting

汎用USBリダイレクトの構成について詳しくは、「Citrix Generic USB Redirection Configuration Guide」を参照してください。

VHCIカーネルモジュールのビルド

-  USBリダイレクトは、VHCIカーネルモジュール(`usb-vhci-hcd.ko`および`usb-vhci-iocif.ko`)に依存します。これらのモジュールは、Linux VDAディストリビューションの一部(RPMパッケージの一部)です。これらは公式のLinuxディストリビューションカーネルに基づいてコンパイルされ、次の表に示されています。
サポートされるLinuxディストリビューション カーネルバージョン
RHEL 8.3 4.18.0-240
RHEL 8.2 4.18.0-240
RHEL 8.1 4.18.0-240
RHEL 7.9, CentOS 7.9 3.10.0-1160
SUSE 12.5 4.12.14
Ubuntu 20.04 5.4.0-81
Ubuntu 18.04 4.15.0-154
Debian 10 4.19.0-17
  • 重要:

    お使いのマシンのカーネルがLinux VDA用にビルドされたドライバーと互換性がない場合、USBサービスが起動に失敗する可能性があります。この場合、独自のVHCIカーネルモジュールをビルドした場合にのみ、USBリダイレクト機能を使用できます。

カーネルとCitrixがビルドしたモジュールの整合性の確認

コマンドラインで、次のコマンドを実行してカーネルの整合性を確認します。

insmod /opt/Citrix/VDA/lib64/usb-vhci-hcd.ko
<!--NeedCopy-->

コマンドが正常に実行された場合、カーネルモジュールは正常にロードされており、バージョンはCitrixによってインストールされたものと整合しています。

コマンドの実行中にエラーが発生した場合、カーネルはCitrixモジュールと整合性がなく、再ビルドする必要があります。

VHCIカーネルモジュールの再ビルド

カーネルモジュールがCitrixバージョンと整合性がない場合は、次の手順を実行します。

  1. CitrixダウンロードサイトからLVDAソースコードをダウンロードします。「Linux Virtual Delivery Agent (sources)」セクションのファイルを選択します。

  2. citrix-linux-vda-sources.zipファイルを展開します。linux-vda-sources/vhci-hcd-1.15.zipに移動し、unzip vhci-hcd-1.15.zipコマンドを使用してVHCIソースファイルを展開します。

  3. 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) リポジトリをインストールして有効にします。

      DKMSは、メジャーなカーネルアップグレード(例: バージョン4.x.yからバージョン5.x.yへ)を実行する際に、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アプリからリダイレクトされたすべてのUSBディスクを管理者権限で管理し、所有者のみがリダイレクトされたデバイスにアクセスできるようにします。その結果、デバイスのマウント解除は管理者権限でのみ可能です。

Unable to unmount a device

USBディスクのリダイレクト停止時のファイル損失

Citrix Workspaceアプリのツールバーを使用してUSBディスクのリダイレクトをすぐに停止すると、ディスク上で変更または作成したファイルが失われる可能性があります。この問題は、ファイルシステムにデータを書き込む際に、システムがファイルシステム内のメモリキャッシュをマウントするため、データがディスク自体に書き込まれないために発生します。Citrix Workspaceアプリのツールバーを使用してリダイレクトを停止すると、データがディスクにフラッシュされる時間がなくなり、データが失われます。この問題を解決するには、USBリダイレクトを停止する前に、ターミナルでsyncコマンドを使用してデータをディスクにフラッシュします。

File lost when you stop redirecting a USB disk

Citrix Workspaceアプリのツールバーにデバイスがない場合

Citrix Workspaceアプリのツールバーにデバイスが表示されないことがあり、これはUSBリダイレクトが行われていないことを示します。この問題が発生した場合は、以下を確認してください。

  • ポリシーがUSBリダイレクトを許可するように構成されていること
  • カーネルモジュールがカーネルと互換性があること

The devices tab in the workspace app toolbar

注:

デバイスタブは、Linux版Citrix Workspaceアプリでは利用できません。

USBデバイスがCitrix Workspaceアプリのツールバーに表示されるが、「ポリシーによって制限されています」と表示されリダイレクトに失敗する場合

この問題が発生した場合は、次の手順を実行します。

  • Linux VDAポリシーを構成してリダイレクトを有効にする。
  • Citrix Workspaceアプリのレジストリに追加のポリシー制限が構成されていないか確認する。この設定によってデバイスへのアクセスが拒否されていないことを確認するために、レジストリパスのDeviceRulesを確認する。

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\GenericUSB

詳細については、Knowledge Centerの記事USBデバイスの自動リダイレクトを構成する方法を参照してください。

USBデバイスは正常にリダイレクトされるが、セッションで使用できない場合

通常、サポートされているUSBデバイスのみがリダイレクトできます。その他のデバイスもアクティブなLinux VDAセッションにリダイレクトされる場合があります。リダイレクトされたすべてのデバイスについて、システムパス/devにユーザーが所有するノードが作成されます。ただし、ユーザーがデバイスを正常に使用できるかどうかは、ドライバーと構成によって決まります。所有されている(接続されている)がアクセスできないデバイスが見つかった場合は、そのデバイスを無制限ポリシーに追加してください。

注:

USBドライブの場合、Linux VDAはディスクを構成してマウントします。ユーザー(およびそれをインストールした所有者のみ)は、追加の構成なしでディスクにアクセスできます。これは、サポートされているデバイスリストにないデバイスには当てはまらない場合があります。

USBリダイレクト