USBデバイスリダイレクト

最終公開日 : Nov 13, 2026
USBデバイスはCitrix Workspace™アプリとLinux VDAデスクトップ間で共有されます。USBデバイスがデスクトップにリダイレクトされると、ローカルに接続されているかのようにUSBデバイスを使用できます。
ヒント:
ネットワーク遅延が100ミリ秒未満の場合は、USBデバイスリダイレクトを使用することをお勧めします。ネットワーク遅延が200ミリ秒を超える場合は、USBデバイスリダイレクトを使用しないでください。
USBデバイスリダイレクトには、主に次の3つの機能領域があります。
  • オープンソースUSB/IPプロジェクト
  • Citrix USBセッションモジュール
  • Citrix USBサービスモジュール
オープンソースUSB/IPプロジェクト:
USB/IPプロジェクトは、Linuxカーネルドライバーと、カーネルドライバーと通信してすべてのUSBデータを取得できるいくつかのユーザーモードライブラリで構成されています。
Linux VDAは、オープンソースのUSB/IPプロジェクトに基づいてUSBデバイスリダイレクトを実装し、USB/IPのカーネルドライバーとユーザーモードライブラリを再利用します。ただし、Linux VDAとCitrix Workspaceアプリ間のすべてのUSBデータ転送は、Citrix ICA USBプロトコルによってカプセル化されます。
Citrix USBセッションモジュール:
Citrix USBセッションモジュールは、USB/IPカーネルモジュールとCitrix Workspaceアプリ間の通信ブリッジとして機能します。
Citrix USBサービスモジュール:
Citrix USBサービスモジュールは、USBデバイスの接続や切断など、USBデバイスに対するすべての操作を管理します。

USBデバイスリダイレクトの仕組み

通常、USBデバイスがLinux VDAに正常にリダイレクトされると、システム/devパスに1つ以上のデバイスノードが作成されます。ただし、リダイレクトされたデバイスがアクティブなLinux VDAセッションで使用できない場合があります。USBデバイスは、適切に機能するためにドライバーに依存しており、一部のデバイスは特別なドライバーを必要とします。ドライバーが提供されていない場合、リダイレクトされたUSBデバイスはアクティブなLinux VDAセッションからアクセスできません。USBデバイスの接続性を確保するには、ドライバーをインストールし、システムを適切に構成してください。
Linux VDA は、クライアントから正常にリダイレクトされる USB デバイスのリストをサポートしています。

サポートされている USB デバイス

ヒント:
USB 3.0 ポートのサポートを追加しました。クライアントデバイスの USB 3.0 ポートに USB 3.0 デバイスを挿入できます。
以下のデバイスは、このバージョンの Linux VDA をサポートすることが検証されています。その他のデバイスも自由に使用できますが、予期しない結果が生じる可能性があります。
USB マスストレージデバイス VID:PID ファイルシステム
Netac Technology Co., Ltd 0dd8:173c FAT32, NTFS
Kingston Datatraveler 101 II 0951:1625 FAT32, NTFS
Kingston Datatraveler GT101 G2 1567:8902 FAT32, NTFS
SanDisk SDCZ80 flash drive 0781:5580 FAT32, NTFS
WD HDD 1058:10B8 FAT32, NTFS
Toshiba Kingston DataTraveler 3.0 USB device 0930:6545 FAT32, NTFS
Taiwan OEM – OBSOLETE VendorCo ProductCode Disk 2.0 FFFF:5678 FAT32, NTFS
TD-RDF5A Transcend USB device 8564:4000 FAT32, NTFS
注:
RHEL、Rocky Linux、およびSUSEでNTFSを使用するには、まずこれらのディストリビューションでNTFSサポートを有効にしてください。
USB 3D マウス VID:PID
3DConnexion SpaceMouse Pro 046d: c62b
USB スキャナー VID:PID
Epson Perfection V330 photo 04B8: 0142
ユビコ USB VID:PID
Yubico YubiKey OTP+FIDO+CCID -Keyboard, HID 1050:0407
WebカメラUSB VID:PID
Logitech composite USB device – WebCam, Audio 0460:0825

USBデバイスリダイレクトの構成

(RHELおよびRocky Linuxのみ) USB/IPカーネルモジュールのインストールまたはコンパイル

Linux VDA は、USB デバイスリダイレクトの仮想ホストコントローラーとして USB/IP を使用します。ほとんどの場合、USB/IP カーネルモジュールは Linux カーネルバージョン 3.17 以降でリリースされるため、デフォルトでカーネルモジュールをビルドする必要はありません。ただし、USB/IP カーネルモジュールは RHEL および Rocky Linux では利用できません。これらの Linux ディストリビューションで USB デバイスリダイレクトを使用するには、USB/IP カーネルモジュールをインストールまたはコンパイルする必要があります。お使いの Linux ディストリビューションに基づいて、<https://pkgs.org/download/kmod-usbip> から USB/IP をダウンロードしてインストールしてください。

USBデバイスリダイレクトポリシーの設定

Citrixポリシーは、USBデバイスリダイレクトを有効にするか無効にするかを制御します。デバイスの種類は、Delivery Controller™ポリシーを使用して指定することもできます。Linux VDAのUSBデバイスリダイレクトを構成する際は、次のポリシーを構成します。
  • クライアントUSBデバイスリダイレクトポリシー
  • クライアントUSBデバイスリダイレクト規則

USBデバイスリダイレクトを有効にする

Citrix Studioで、クライアントからのUSBデバイスリダイレクトを有効(または無効)にします(ワークステーションホストのみ)。
「設定の編集」ダイアログで、:
  1. 「許可」を選択します。
  2. OKをクリックします。
USBデバイスリダイレクトを有効にする

USBデバイスリダイレクトルールを設定する

USBリダイレクトポリシーを有効にした後、Citrix Studioを使用して、Linux VDAで許可(または拒否)するデバイスを指定することで、リダイレクトルールを設定します。
「クライアントUSBデバイスリダイレクトルール」ダイアログで、:
  1. 「新規」をクリックしてリダイレクトルールを追加するか、「編集」をクリックして既存のルールを確認します。
  2. ルールを作成(または編集)した後、「OK」をクリックします。
クライアントUSBデバイスリダイレクトルール設定
注:
USBデバイスリダイレクトを構成するときは、クライアントUSBデバイスリダイレクトオプションを許可に設定し、クライアントUSBデバイスリダイレクトルールをAllow:#all okとして構成してください。両方の設定を構成しないと、セッション内でクリックしたときに外部マウスが消える可能性があります。

Azure上のUbuntuでのUSBリダイレクトのサポート

デフォルトでは、Azure上のUbuntuには特定のUSBカーネルドライバーが含まれていない場合があります。以下の手順に従って、汎用デバイスと特定デバイスの両方でUSBリダイレクトを有効にできます。

汎用デバイスのUSBリダイレクトを有効にする

標準USBストレージデバイス、YubiKey USB HIDデバイス、ASIXネットワークアダプターなどの汎用USBデバイスの場合、次の構成スクリプトを実行するだけで済みます。
sudo /opt/Citrix/VDA/sbin/usbazure/ctxusbcfg.sh
スクリプトを実行した後、Citrix USBサービスを再起動してサポートを有効にします。
sudo service ctxusbsd restart

特定デバイス用のUSBカーネルドライバーモジュールを構築する

すぐにサポートされていないデバイスの場合、以下の汎用ワークフローを使用して、必要なカーネルドライバーモジュールを構築およびインストールできます。以下の例では、説明のためにKingston DataTraveler 2.0 Stick (VID=0930, PID=6544)を使用しています。
前提条件:
  • Linux VDAパッケージがインストールされたVDAマシン。
  • 汎用Linuxカーネルを実行しているLinux物理マシン。

Linux物理マシンで必要なカーネルドライバーを特定する

ステップ1 - デバイスを接続する

USBデバイスを汎用Linuxカーネルを実行している物理マシンに接続します。

ステップ2 - USBカーネルドライバー識別スクリプトを準備する

/opt/Citrix/VDA/sbin/usbazure/ctxusbkodriver.sh を物理マシンにコピーし、実行可能にします。

ステップ3 - デバイスのVIDとPIDを取得する

接続されているUSBデバイスを特定するには、lsusbを使用します。
lsusb
Example output:
Bus 001 Device 040: ID 0930:6544 Toshiba Corp. TransMemory-Mini / Kingston DataTraveler 2.0 Stick

ステップ4 - 必要なカーネルドライバーを特定する

デバイスのVID:PIDを使用してヘルパースクリプトを実行します。
./ctxusbkodriver.sh 0930:6544
Example output:
All USB Kernel drivers for 0930:6544:
usb-storage

VDAマシンにカーネルドライバーをビルドしてインストールする

ステップ1 - ビルド環境を構成する

構成スクリプトを実行して、ビルド環境をセットアップし、必要なカーネルソースコードを/root/.ctxusbにダウンロードします。
sudo /opt/Citrix/VDA/sbin/usbazure/ctxusbcfg.sh

ステップ2 - カーネルビルド構成を決定する

適切なカーネルモジュールビルドオプションを取得するには、構成スクリプトを使用します。
sudo /opt/Citrix/VDA/sbin/usbazure/ctxusbkoconfig.sh /root/.ctxusb/linux usb-storage
Example output:
Config option: CONFIG_USB_STORAGE
Folder: /root/.ctxusb/linux/drivers/usb/storage

ステップ3 - カーネル構成オプションの検査と記録

cd /root/.ctxusb/linux
make menuconfig
  • 検索機能(/を押す)を使用してオプション(例:CONFIG_USB_STORAGE)を見つけます。
  • 関連する設定(例:CONFIG_USB_SUPPORT=y、CONFIG_USB_STORAGE=m)を記録します。
  • 変更を保存せずに終了します。

ステップ4 - カーネルドライバーのビルドとインストール

カーネルモジュールをコンパイルしてインストールします。
sudo /opt/Citrix/VDA/sbin/usbazure/ctxusbkobuild.sh /root/.ctxusb/linux/drivers/usb/storage "CONFIG_USB_SUPPORT=y CONFIG_USB_STORAGE=m"

ステップ5 - カーネルドライバーの検証

modinfo usb-storage
正常に完了すると、指定したUSBデバイス用のカーネルドライバーがビルドされ、インストールされます。

USBデバイスリダイレクトの問題のトラブルシューティング

このセクションの情報を使用して、Linux VDAの使用中に発生する可能性のあるさまざまな問題のトラブルシューティングを行います。

リダイレクトされたUSBディスクをアンマウントできない

Linux VDAは、Citrix WorkspaceアプリからリダイレクトされたすべてのUSBディスクを管理者権限で管理し、所有者のみがリダイレクトされたデバイスにアクセスできるようにします。そのため、デバイスをアンマウントするには管理者権限が必要です。
デバイスをアンマウントできません

USBディスクのリダイレクトを停止するとファイルが失われる

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

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

Citrix Workspaceアプリのツールバーにデバイスが表示されない場合があります。これは、USBリダイレクトが行われていないことを示します。
ワークスペースアプリのツールバーのデバイスタブ
この問題が発生した場合は、以下を確認してください。
  • USBデバイスリダイレクトを許可するようにポリシーが構成されている。
  • Citrix USBサービスモジュールが実行されている。
ポリシーが正しく設定されていない場合は、この記事の「USBデバイスリダイレクトポリシーの設定」セクションを参照して修正してください。
Citrix USBサービスモジュールが実行されていない場合は、次の手順を実行します。
  1. 次のコマンドを使用して、お使いのLinuxディストリビューションでUSB/IPカーネルモジュールが利用可能かどうかを確認します。
    modinfo usbip-core
  2. 出力が次のように表示される場合は、お使いのLinuxディストリビューションに基づいてUSB/IPカーネルモジュールをインストールまたはコンパイルします。
    modinfo: ERROR: Module usbip-core not found.
    • RHELおよびRocky Linuxについては、この記事の「USB/IPカーネルモジュールのインストールまたはコンパイル」セクションを参照してください。
    • SUSEの場合は、<https://software.opensuse.org/package/usbip>からUSB/IPパッケージをダウンロードしてインストールします。
    • Ubuntu/Debianの場合は、次の手順を実行してUSB/IPカーネルモジュールをコンパイルおよびインストールします。
      1. USB/IPカーネルモジュールのソースコードをダウンロードします。
        <https://github.com/torvalds/linux/tree/master/drivers/usb/usbip>にあるLinuxカーネルリポジトリにアクセスし、ターゲットのLinuxカーネルバージョン(v4.15以降)タグを選択して、<https://github.com/torvalds/linux/tree/v4.15/drivers/usb/usbip>のようなリンクを取得します。
        DownGitにアクセスし、上記のリンクを入力してUSB/IPソースコードをダウンロードするためのダウンロードリンクを作成します。
      2. 次のコマンドを使用してソースファイルを解凍します。
        unzip ${USBIP_SRC}.zip

        cd usbip
      3. Makefileファイルを次のように変更します。
        # SPDX-License-Identifier: GPL-2.0

        ccflags-$(CONFIG_USBIP_DEBUG) := -DDEBUG

        obj-$(CONFIG_USBIP_CORE) += usbip-core.o

        usbip-core-y := usbip_common.o usbip_event.o

        obj-$(CONFIG_USBIP_VHCI_HCD) += vhci-hcd.o

        vhci-hcd-y := vhci_sysfs.o vhci_tx.o vhci_rx.o vhci_hcd.o

        #obj-$(CONFIG_USBIP_HOST) += usbip-host.o

        #usbip-host-y := stub_dev.o stub_main.o stub_rx.o stub_tx.o

        #obj-$(CONFIG_USBIP_VUDC) += usbip-vudc.o

        #usbip-vudc-y := vudc_dev.o vudc_sysfs.o vudc_tx.o vudc_rx.o vudc_transfer.o vudc_main.o
      4. ソースコードをコンパイルします。
        apt-get install linux-headers-`uname -r`

        make -C /lib/modules/`uname -r`/build M=$PWD
      5. USB/IPカーネルモジュールをインストールします。
        cp usbip-core.ko vhci-hcd.ko /opt/Citrix/VDA/lib64/
      6. USB/IPカーネルモジュールをロードするために、ctxusbsdサービスを再起動します。
        systemctl restart ctxusbsd

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

この問題が発生した場合は、次の操作を行います。
  • リダイレクトを有効にするようにLinux VDAポリシーを構成します。
  • Citrix Workspaceアプリのレジストリに追加のポリシー制限が構成されていないか確認します。レジストリパスのDeviceRulesを確認して、この設定によってデバイスへのアクセスが拒否されていないことを確認します。
    HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Wow6432Node\\Citrix\\ICA Client\\GenericUSB

USBデバイスは正常にリダイレクトされますが、セッションで使用できません

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