USB-Geräteumleitung
USB-Geräte werden zwischen der Citrix Workspace™-App und dem Linux VDA-Desktop gemeinsam genutzt. Wenn ein USB-Gerät auf den Desktop umgeleitet wird, können Sie das USB-Gerät verwenden, als wäre es lokal verbunden.
Tipp:
Wir empfehlen die Verwendung der USB-Geräteumleitung, wenn die Netzwerklatenz unter 100 Millisekunden liegt. Verwenden Sie die USB-Geräteumleitung nicht, wenn die Netzwerklatenz über 200 Millisekunden liegt.
-
Die USB-Geräteumleitung umfasst drei Hauptfunktionsbereiche:
- Open-Source USB/IP-Projekt
- Citrix USB-Sitzungsmodul
- Citrix USB-Dienstmodul
Open-Source USB/IP-Projekt:
Das USB/IP-Projekt besteht aus einem Linux-Kernel-Treiber und einigen Benutzermodus-Bibliotheken, die die Kommunikation mit dem Kernel-Treiber ermöglichen, um alle USB-Daten zu erhalten.
Der Linux VDA implementiert die USB-Geräteumleitung basierend auf dem Open-Source USB/IP-Projekt und verwendet die Kernel-Treiber und Benutzermodus-Bibliotheken von USB/IP wieder. Alle USB-Datenübertragungen zwischen dem Linux VDA und der Citrix Workspace-App werden jedoch durch das Citrix ICA USB-Protokoll gekapselt.
Citrix USB-Sitzungsmodul:
Das Citrix USB-Sitzungsmodul fungiert als Kommunikationsbrücke zwischen dem USB/IP-Kernelmodul und der Citrix Workspace-App.
Citrix USB-Dienstmodul:
Das Citrix USB-Dienstmodul verwaltet alle Vorgänge an USB-Geräten, z. B. das Anschließen oder Trennen von USB-Geräten.
Funktionsweise der USB-Geräteumleitung
Wenn ein USB-Gerät erfolgreich an den Linux VDA umgeleitet wird, werden typischerweise ein oder mehrere Geräteknoten im Systempfad /dev erstellt. Manchmal ist das umgeleitete Gerät jedoch für eine aktive Linux VDA-Sitzung nicht nutzbar. USB-Geräte sind auf Treiber angewiesen, um ordnungsgemäß zu funktionieren, und einige Geräte erfordern spezielle Treiber. Wenn keine Treiber bereitgestellt werden, sind die umgeleiteten USB-Geräte für die aktive Linux VDA-Sitzung nicht zugänglich. Um die Konnektivität von USB-Geräten sicherzustellen, installieren Sie die Treiber und konfigurieren Sie das System ordnungsgemäß.
Der Linux VDA unterstützt eine Liste von USB-Geräten, die erfolgreich vom Client umgeleitet werden.
Unterstützte USB-Geräte
Tipp:
Wir haben Unterstützung für USB 3.0-Anschlüsse hinzugefügt. Sie können USB 3.0-Geräte in USB 3.0-Anschlüsse eines Clientgeräts einstecken.
Die folgenden Geräte wurden auf Unterstützung dieser Version des Linux VDA überprüft. Andere Geräte können frei verwendet werden, jedoch mit unerwarteten Ergebnissen:
| USB-Massenspeichergerät | VID:PID | Dateisystem |
|---|---|---|
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 |
Hinweis:
Um NTFS unter Amazon Linux 2, CentOS, RHEL, Rocky Linux und SUSE zu verwenden, aktivieren Sie zuerst die NTFS-Unterstützung auf diesen Distributionen.
| USB-3D-Maus | VID:PID |
|---|---|
3DConnexion SpaceMouse Pro |
046d: c62b |
| USB-Scanner | VID:PID |
Epson Perfection V330 photo |
04B8: 0142 |
| Yubico USB | VID:PID |
Yubico YubiKey OTP+FIDO+CCID -Keyboard, HID |
1050:0407 |
| Webcam USB | VID:PID |
Logitech composite USB device – WebCam, Audio |
0460:0825 |
USB-Geräteumleitung konfigurieren
(Nur für CentOS, RHEL und Rocky Linux) USB/IP-Kernelmodul installieren oder kompilieren
Der Linux VDA verwendet USB/IP als virtuellen Host-Controller für die USB-Geräteumleitung. Da das USB/IP-Kernelmodul in den meisten Fällen mit der Linux-Kernelversion 3.17 und höher veröffentlicht wird, müssen Sie das Kernelmodul standardmäßig nicht selbst erstellen. Das USB/IP-Kernelmodul ist jedoch für CentOS, RHEL und Rocky Linux nicht verfügbar. Um die USB-Geräteumleitung mit diesen Linux-Distributionen zu verwenden, müssen Sie das USB/IP-Kernelmodul installieren oder kompilieren. Laden Sie USB/IP von https://pkgs.org/download/kmod-usbip herunter und installieren Sie es entsprechend Ihrer Linux-Distribution.
Richtlinien für die USB-Geräteumleitung festlegen
Eine Citrix-Richtlinie steuert, ob die USB-Geräteumleitung aktiviert oder deaktiviert ist. Der Gerätetyp kann auch über eine Delivery Controller™-Richtlinie festgelegt werden. Beim Konfigurieren der USB-Geräteumleitung für den Linux VDA konfigurieren Sie die folgenden Richtlinien und Regeln:
- Client-USB-Geräteumleitungsrichtlinie
- Client-USB-Geräteumleitungsregeln
USB-Geräteumleitung aktivieren
Aktivieren (oder deaktivieren) Sie in Citrix Studio die USB-Geräteumleitung vom Client (nur für Workstation-Hosts).
Im Dialogfeld Einstellung bearbeiten:
- Wählen Sie Zulässig aus.
-
Klicken Sie auf OK.
Regeln für die USB-Geräteumleitung festlegen
Nachdem Sie die USB-Umleitungsrichtlinie aktiviert haben, legen Sie die Umleitungsregeln in Citrix Studio fest, indem Sie angeben, welche Geräte auf dem Linux VDA zugelassen (oder verweigert) werden.
Im Dialogfeld Regeln für die Client-USB-Geräteumleitung:
- Klicken Sie auf Neu, um eine Umleitungsregel hinzuzufügen, oder klicken Sie auf Bearbeiten, um eine vorhandene Regel zu überprüfen.
- Nachdem Sie eine Regel erstellt (oder bearbeitet) haben, klicken Sie auf OK.

Beheben von Problemen bei der USB-Geräteumleitung
Verwenden Sie die Informationen in diesem Abschnitt, um verschiedene Probleme zu beheben, die bei der Verwendung des Linux VDA auftreten können.
USB-Datenträger kann nicht ausgeworfen werden
Der Linux VDA verwaltet alle von der Citrix Workspace-App umgeleiteten USB-Datenträger mit Administratorrechten, um sicherzustellen, dass nur der Besitzer auf das umgeleitete Gerät zugreifen kann. Daher können Sie das Gerät nur mit Administratorrechten auswerfen.

Datenverlust beim Beenden der Umleitung eines USB-Datenträgers
Wenn Sie die Umleitung eines USB-Datenträgers sofort über die Symbolleiste der Citrix Workspace-App beenden, können die auf dem Datenträger geänderten oder erstellten Dateien verloren gehen. Dieses Problem tritt auf, weil das System beim Schreiben von Daten in ein Dateisystem den Speicher-Cache im Dateisystem einbindet. Die Daten werden nicht direkt auf den Datenträger geschrieben. Wenn Sie die Umleitung über die Symbolleiste der Citrix Workspace-App beenden, bleibt keine Zeit mehr, um die Daten auf den Datenträger zu schreiben, was zu Datenverlust führt.
Um dieses Problem zu beheben, verwenden Sie den Befehl sync in einem Terminal, um Daten auf den Datenträger zu schreiben, bevor Sie die USB-Umleitung beenden.
Keine Geräte in der Symbolleiste der Citrix Workspace-App
Manchmal werden in der Symbolleiste der Citrix Workspace-App keine Geräte angezeigt, was darauf hinweist, dass keine USB-Umleitung stattfindet.

Wenn dieses Problem auftritt, überprüfen Sie Folgendes:
- Die Richtlinie ist so konfiguriert, dass die USB-Geräteumleitung zugelassen wird.
-
Das Citrix USB-Dienstmodul wird ausgeführt.
- Wenn die Richtlinie nicht korrekt festgelegt ist, korrigieren Sie sie, indem Sie den Abschnitt USB-Geräteumleitungsrichtlinien festlegen in diesem Artikel heranziehen.
Wenn das Citrix USB-Dienstmodul nicht ausgeführt wird, führen Sie die folgenden Schritte aus:
-
Prüfen Sie mit dem folgenden Befehl, ob ein USB/IP-Kernelmodul auf Ihrer Linux-Distribution verfügbar ist:
modinfo usbip-core <!--NeedCopy--> -
Wenn die Ausgabe wie folgt angezeigt wird, installieren oder kompilieren Sie das USB/IP-Kernelmodul basierend auf Ihrer Linux-Distribution:
modinfo: ERROR: Module usbip-core not found. <!--NeedCopy-->- Informationen zu Amazon Linux 2, CentOS, RHEL und Rocky Linux finden Sie im Abschnitt Installieren oder Kompilieren des USB/IP-Kernelmoduls in diesem Artikel.
- Laden Sie für SUSE das USB/IP-Paket von https://software.opensuse.org/package/usbip herunter und installieren Sie es.
-
Führen Sie für Ubuntu/Debian die folgenden Schritte aus, um das USB/IP-Kernelmodul zu kompilieren und zu installieren:
-
Laden Sie den Quellcode des USB/IP-Kernelmoduls herunter.
Gehen Sie zum Linux-Kernel-Repository unter https://github.com/torvalds/linux/tree/master/drivers/usb/usbip, wählen Sie das Tag der Ziel-Linux-Kernel-Version (v4.15 oder höher) aus und rufen Sie den Link ab, z. B. https://github.com/torvalds/linux/tree/v4.15/drivers/usb/usbip.
Gehen Sie zu DownGit und geben Sie den vorhergehenden Link ein, um einen Download-Link zum Herunterladen des USB/IP-Quellcodes zu erstellen.
-
Entpacken Sie die Quelldatei mit den folgenden Befehlen:
unzip ${USBIP_SRC}.zip cd usbip <!--NeedCopy--> -
Ändern Sie die Datei Makefile wie folgt:
# 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 <!--NeedCopy--> -
Kompilieren Sie den Quellcode:
apt-get install linux-headers-`uname -r` make -C /lib/modules/`uname -r`/build M=$PWD <!--NeedCopy--> -
Installieren Sie das USB/IP-Kernelmodul:
cp usbip-core.ko vhci-hcd.ko /opt/Citrix/VDA/lib64/ <!--NeedCopy--> -
Starten Sie den Dienst ctxusbsd neu, um das USB/IP-Kernelmodul zu laden:
systemctl restart ctxusbsd <!--NeedCopy-->
-
Umleitungsfehler, wenn USB-Geräte in der Symbolleiste der Citrix Workspace-App sichtbar, aber als „richtlinienbeschränkt“ gekennzeichnet sind
Wenn das Problem auftritt, gehen Sie wie folgt vor:
- Konfigurieren Sie die Linux VDA-Richtlinie, um die Umleitung zu aktivieren.
-
Prüfen Sie, ob zusätzliche Richtlinieneinschränkungen in der Registrierung der Citrix Workspace-App konfiguriert sind. Überprüfen Sie DeviceRules im Registrierungspfad, um sicherzustellen, dass der Gerätezugriff durch diese Einstellung nicht verweigert wird:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\GenericUSB
Ein USB-Gerät wird erfolgreich umgeleitet, aber ich kann es in meiner Sitzung nicht verwenden
Typischerweise können nur unterstützte USB-Geräte umgeleitet werden. Andere Geräte können ebenfalls an eine aktive Linux VDA-Sitzung umgeleitet werden. Für jedes umgeleitete Gerät wird ein vom Benutzer besessener Knoten im Systempfad /dev erstellt. Es sind jedoch die Treiber und die Konfiguration, die bestimmen, ob der Benutzer das Gerät erfolgreich verwenden kann. Wenn Sie ein Gerät finden, das besessen (angeschlossen), aber nicht zugänglich ist, fügen Sie das Gerät einer uneingeschränkten Richtlinie hinzu.
Hinweis:
Für USB-Laufwerke konfiguriert und bindet der Linux VDA den Datenträger ein. Der Benutzer (und nur der Besitzer, der ihn installiert hat) kann ohne zusätzliche Konfiguration auf den Datenträger zugreifen. Dies ist möglicherweise nicht der Fall für Geräte, die nicht in der Liste der unterstützten Geräte aufgeführt sind.
In diesem Artikel
- Funktionsweise der USB-Geräteumleitung
- Unterstützte USB-Geräte
- USB-Geräteumleitung konfigurieren
-
Beheben von Problemen bei der USB-Geräteumleitung
- USB-Datenträger kann nicht ausgeworfen werden
- Datenverlust beim Beenden der Umleitung eines USB-Datenträgers
- Keine Geräte in der Symbolleiste der Citrix Workspace-App
- Umleitungsfehler, wenn USB-Geräte in der Symbolleiste der Citrix Workspace-App sichtbar, aber als „richtlinienbeschränkt“ gekennzeichnet sind
- Ein USB-Gerät wird erfolgreich umgeleitet, aber ich kann es in meiner Sitzung nicht verwenden
