USB-Umleitung
USB-Geräte werden von der Citrix Workspace-App und Linux VDA-Desktop gemeinsam verwendet. Wenn ein USB-Gerät an einen Desktop umgeleitet wird, können Sie es wie ein lokal verbundenes Gerät verwenden.
Tipp:
Bei einer Netzwerklatenz unter 100 Millisekunden empfehlen wir die Verwendung einer USB-Umleitung. Verwenden Sie keine USB-Umleitung, wenn die Netzwerklatenz höher als 200 Millisekunden ist.
Die USB-Umleitung umfasst drei hauptsächliche Funktionalitätsbereiche:
- Open-Source-Projektimplementierung (VHCI)
- VHCI-Dienst
- USB-Dienst
Open-Source-VHCI:
Dieser Teil der USB-Umleitung besteht aus der Entwicklung eines allgemeinen Systems zur USB-Gerätefreigabe über ein IP-Netzwerk. Er umfasst einen Linux-Kerneltreiber und einige Benutzermodusbibliotheken für die Kommunikation mit dem Kerneltreiber zum Abruf aller USB-Daten. In der Linux VDA-Implementierung hat Citrix den VHCI-Kerneltreiber wiederverwendet. Alle USB-Datenübertragungen zwischen Linux VDA und der Citrix Workspace-App erfolgen jedoch gekapselt im Citrix ICA-Protokollpaket.
VHCI-Dienst:
Der VHCI-Dienst ist ein von Citrix zur Kommunikation mit dem VHCI-Kernelmodul bereitgestellter Open-Source-Dienst. Der Dienst fungiert als Gateway zwischen VHCI und dem Citrix USB-Dienst.
USB-Dienst:
Der USB-Dienst dient als Citrix Modul, das sämtliche Virtualisierungen und Datenübertragungen auf dem USB-Gerät verwaltet.
Funktionsweise der USB-Umleitung
Wenn ein USB-Gerät an den Linux VDA umgeleitet wird, werden normalerweise ein oder mehrere Geräteknoten im Systempfad /dev erstellt. Gelegentlich kann das umgeleitete Gerät jedoch nicht für eine aktive Linux VDA-Sitzung verwendet werden. USB-Geräte funktionieren nur mit Treibern, und manche Geräte erfordern auch Spezialtreiber. Sind diese Treiber nicht vorhanden, kann in der aktiven Linux VDA-Sitzung nicht auf das umgeleitete USB-Gerät zugegriffen werden. Installieren Sie die Treiber und konfigurieren Sie das System, um eine Verbindung mit USB-Geräten zu ermöglichen.
Der Linux VDA unterstützt diverse USB-Geräte, die erfolgreich an den Client und von dem Client umgeleitet werden können.
Unterstützte USB-Geräte
Bei den folgenden Geräten wurde die Unterstützung dieser Version des Linux VDA in Tests verifiziert. Andere Geräte können verwendet werden, jedoch können unerwartete Ergebnisse auftreten.
Hinweis:
Der Linux VDA unterstützt nur USB 2.0-Protokolle.
USB-Massenspeichergerät | VID:PID | Dateisystem |
---|---|---|
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-Maus | VID:PID |
---|---|
3DConnexion SpaceMouse Pro |
046d: c62b |
USB-Scanner | VID:PID |
---|---|
Epson Perfection V330 photo |
04B8: 0142 |
Konfigurieren der USB-Umleitung
Die USB-Geräteumleitung wird über eine Citrix Richtlinie aktiviert bzw. deaktiviert. Der Gerätetyp kann außerdem über eine Delivery Controller-Richtlinie festgelegt werden. Konfigurieren Sie die folgenden Richtlinien und Regeln, um die USB-Umleitung für den Linux VDA zu aktivieren:
- Richtlinie für die Client-USB-Geräteumleitung
- Regeln für die Client-USB-Geräteumleitung
USB-Umleitung aktivieren
In Citrix Studio können Sie die Umleitung von USB-Geräten zum und vom Client (nur Arbeitsstationshosts) aktivieren und deaktivieren.
Führen Sie im Dialogfeld Einstellung bearbeiten folgende Schritte aus:
- Wählen Sie Zugelassen.
- Klicken Sie auf OK.
Festlegen von Regeln für die USB-Umleitung
Nach dem Aktivieren der USB-Umleitungsrichtlinie legen Sie mit Citrix Studio die Regeln für die Umleitung fest, d. h. welche Geräte auf dem Linux VDA zulässig sind und welche nicht.
Führen Sie im Dialogfeld Regeln für die Client-USB-Geräteumleitung folgende Schritte aus:
- Klicken Sie auf Neu, um eine Umleitungsregel hinzuzufügen oder auf Bearbeiten, um eine vorhandene Regel zu prüfen.
- Nach dem Erstellen bzw. Ändern der Regel klicken Sie auf OK.
Weitere Informationen zum Konfigurieren der generischen USB-Umleitung finden Sie im Citrix Generic USB Redirection Configuration Guide.
Erstellen des VHCI-Kernelmoduls
Die USB-Umleitung ist abhängig von den VHCI-Kernelmodulen (usb-vhci-hcd.ko
und usb-vhci-iocif.ko
). Diese Module sind Teil der Linux VDA-Distribution (als Teil des RPM-Pakets). Sie werden auf Basis der Kernel der offiziellen Linux-Distribution kompiliert:
Unterstützte Linux-Distribution | Kernelversion |
---|---|
RHEL 8.x | 4.18.0-240 |
RHEL 7.9, CentOS 7.9 | 3.10.0-1160 |
Ubuntu 20.04 | 5.4.0-81 |
Ubuntu 18.04 | 4.15.0-154 |
Debian 10 | 4.19.0-17 |
Wichtig:
Wenn der Kernel Ihrer Maschine nicht mit dem Treiber für den Linux VDA kompatibel ist, kann der USB-Dienst möglicherweise nicht gestartet werden. In diesem Fall können Sie die USB-Umleitung nur dann verwenden, wenn Sie eigene VHCI-Kernelmodule erstellen.
Prüfen des vorliegenden Kernels auf Konsistenz mit dem Modul von Citrix
Führen Sie an der Befehlszeile den folgenden Befehl aus, um zu überprüfen, ob Ihr Kernel konsistent ist:
insmod /opt/Citrix/VDA/lib64/usb-vhci-hcd.ko
<!--NeedCopy-->
Wird der Befehl ausgeführt, dann wurde das Kernelmodul erfolgreich geladen und die Version ist mit der von Citrix installierten konsistent.
Treten bei der Ausführung des Befehls Fehler auf, bedeutet dies, dass der Kernel nicht mit dem Citrix Modul konsistent ist und neu erstellt werden muss.
Neuerstellen des VHCI-Kernelmoduls
Wenn das Kernelmodul nicht mit der Citrix-Version konsistent ist, führen Sie die folgenden Schritte aus:
-
Laden Sie den LVDA-Quellcode von der Citrix Downloadsite herunter. Wählen Sie die Datei im Abschnitt “Linux Virtual Delivery Agent (sources)” aus.
-
Extrahieren Sie die Datei citrix-linux-vda-sources.zip. Gehen Sie zu linux-vda-sources/vhci-hcd-1.15.zip und extrahieren Sie die VHCI-Quelldateien mit dem Befehl
unzip vhci-hcd-1.15.zip
. -
Stellen Sie sicher, dass Sie das Linux VDA-Paket installiert haben, und führen Sie dann einen der folgenden Befehle aus:
-
sudo bash ctxusbcfg.sh dkms
Über diesen Befehl können Sie das DKMS-Programm (Dynamic Kernel Module Support) verwenden, um Ihre VHCI-Kernelmodule zu verwalten. DKMS ist für SUSE nicht verfügbar.
Hinweis:
Der Befehl
sudo bash ctxusbcfg.sh dkms
installiert die Programmekernel-devel
undDKMS
auf dem VDA. Unter RHEL und CentOS installiert und aktiviert der Befehl das Repository “Extra Packages for Enterprise Linux (EPEL) “ auf dem VDA.DKMS kann die VHCI-Kernelmodule (
usb-vhci-hcd.ko
undusb-vhci-iocif.ko
) möglicherweise nicht erstellen, wenn Sie ein größeres Kernel-Upgrade durchführen, z. B. von Version 4.x.y auf Version 5.x.y. Wenn DKMS fehlschlägt, führen Siesudo bash ctxusbcfg.sh dkms
erneut aus. -
sudo bash ctxusbcfg.sh build
Der Befehl erstellt und installiert die VHCI-Kernelmodule ohne DKMS-Option.
-
Behandeln von Problemen bei der USB-Umleitung
Anhand der Informationen in diesem Abschnitt können Sie diverse Probleme beheben, die bei der Verwendung des Linux VDA auftreten können.
Bereitstellung eines umgeleiteten USB-Datenträgers kann nicht aufgehoben werden
Der Linux VDA verwaltet alle von der Citrix Workspace-App umgeleiteten USB-Datenträger unter Verwendung von Administratorrechten, damit nur der Besitzer eines umgeleiteten Geräts darauf zugreifen kann. Daher können Sie die Bereitstellung des Geräts nur mit Administratorrechten aufheben.
Dateiverlust 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 Dateien, die Sie auf dem Datenträger geändert oder erstellt haben, verloren gehen. Dieses Problem tritt auf, weil beim Schreiben von Daten in ein Dateisystem der Speichercache im Dateisystem eingebunden wird. Die Daten werden nicht auf den Datenträger selbst geschrieben. Wenn Sie die Umleitung über die Symbolleiste der Citrix Workspace-App beenden, bleibt keine Zeit zum Übertragen der Daten auf den Datenträger und die Daten gehen verloren. Zur Problemlösung verwenden Sie den sync-Befehl in einem Terminal, um die Daten auf den Datenträger zu übertragen, bevor Sie die USB-Umleitung beenden.
Keine Geräte in der Symbolleiste der Citrix Workspace-App
Es kann vorkommen, dass in der Symbolleiste der Citrix Workspace-App keine Geräte aufgeführt werden, d. h., dass keine USB-Umleitung stattfindet. Prüfen Sie in diesem Fall Folgendes:
- Die Richtlinie ist auf Zulassen der USB-Umleitung konfiguriert.
- Das Kernelmodul ist mit Ihrem Kernel kompatibel.
Hinweis:
Die Registerkarte Geräte ist in der Citrix Workspace-App für Linux nicht verfügbar.
Die Umleitung schlägt fehl, wenn in der Symbolleiste der Citrix Workspace-App angezeigte USB-Geräte als richtlinienbeschränkt ausgewiesen sind
Wenn das Problem auftritt, führen Sie die folgenden Schritte aus:
- Konfigurieren Sie die Linux VDA-Richtlinie zum Aktivieren der Umleitung.
-
Prüfen Sie, ob in der Registrierung der Citrix Workspace-App weitere Richtlinieneinschränkungen konfiguriert sind. Prüfen Sie DeviceRules im Registrierungspfad, um sicherzustellen, dass dem Gerät durch diese Einstellung kein Zugriff verweigert wird:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\GenericUSB
Ein USB-Gerät wird umgeleitet, kann jedoch nicht in einer Sitzung verwendet werden
In der Regel können nur unterstützte USB-Geräte umgeleitet werden. Auch andere Geräte werden evtl. in eine aktive Linux VDA-Sitzung umgeleitet. Es wird für jedes umgeleitete Gerät ein im Besitz des Benutzers stehender Knoten im Systempfad /dev erstellt. Allerdings bestimmen Treiber und Konfiguration, ob der Benutzer das Gerät verwenden kann. Wenn Sie ein angeschlossenes Gerät finden, auf das nicht zugegriffen werden kann, fügen Sie es einer uneingeschränkten Richtlinie hinzu.
Hinweis:
Für USB-Laufwerke erfolgt die Konfiguration und Einbindung durch den Linux VDA. Der Benutzer, der das Laufwerk installiert hat (und kein anderer), kann ohne zusätzliche Konfiguration auf das Laufwerk zugreifen. Dies ist bei Geräten, die nicht auf der Liste der unterstützten Geräte stehen, evtl. nicht möglich.