Redirection de périphériques USB
Les périphériques USB sont partagés entre l’application Citrix Workspace™ et le bureau Linux VDA. Lorsqu’un périphérique USB est redirigé vers le bureau, vous pouvez l’utiliser comme s’il était connecté localement.
Conseil :
Nous vous recommandons d’utiliser la redirection de périphériques USB lorsque la latence du réseau est inférieure à 100 millisecondes. N’utilisez pas la redirection de périphériques USB lorsque la latence du réseau est supérieure à 200 millisecondes.
-
La redirection de périphériques USB comprend trois domaines de fonctionnalité principaux :
- Projet USB/IP open source
- Module de session USB Citrix
- Module de service USB Citrix
Projet USB/IP open source :
Le projet USB/IP se compose d’un pilote de noyau Linux et de bibliothèques en mode utilisateur qui vous permettent de communiquer avec le pilote de noyau pour obtenir toutes les données USB.
Le Linux VDA implémente la redirection de périphériques USB basée sur le projet USB/IP open source et réutilise le pilote de noyau et les bibliothèques en mode utilisateur d’USB/IP. Cependant, tous les transferts de données USB entre le Linux VDA et l’application Citrix Workspace sont encapsulés par le protocole USB ICA de Citrix.
Module de session USB Citrix :
Le module de session USB Citrix agit comme un pont de communication entre le module de noyau USB/IP et l’application Citrix Workspace.
Module de service USB Citrix :
Le module de service USB Citrix gère toutes les opérations sur les périphériques USB, par exemple, la connexion ou la déconnexion de périphériques USB.
Fonctionnement de la redirection de périphériques USB
Généralement, si un périphérique USB est redirigé avec succès vers le Linux VDA, un ou plusieurs nœuds de périphérique sont créés dans le chemin /dev du système. Cependant, il arrive parfois que le périphérique redirigé ne soit pas utilisable pour une session Linux VDA active. Les périphériques USB dépendent de pilotes pour fonctionner correctement et certains périphériques nécessitent des pilotes spéciaux. Si les pilotes ne sont pas fournis, les périphériques USB redirigés sont inaccessibles à la session Linux VDA active. Pour assurer la connectivité des périphériques USB, installez les pilotes et configurez correctement le système.
Le Linux VDA prend en charge une liste de périphériques USB qui sont redirigés avec succès depuis le client.
Périphériques USB pris en charge
Conseil :
Nous avons ajouté la prise en charge des ports USB 3.0. Vous pouvez insérer des périphériques USB 3.0 dans les ports USB 3.0 d’un périphérique client.
Les périphériques suivants ont été vérifiés pour prendre en charge cette version du Linux VDA. D’autres périphériques peuvent être utilisés librement, avec des résultats inattendus :
| Périphérique de stockage de masse USB | VID:PID | Système de fichiers |
|---|---|---|
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 |
Remarque :
Pour utiliser NTFS sur Amazon Linux 2, RHEL, Rocky Linux et SUSE, activez d’abord la prise en charge de NTFS sur ces distributions.
| Souris 3D USB | VID:PID |
|---|---|
3DConnexion SpaceMouse Pro |
046d: c62b |
| Scanner USB | 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 |
Configurer la redirection de périphériques USB
(Pour RHEL et Rocky Linux uniquement) Installer ou compiler le module de noyau USB/IP
Le Linux VDA utilise USB/IP comme contrôleur d’hôte virtuel pour la redirection de périphériques USB. Étant donné que dans la plupart des cas, le module de noyau USB/IP est publié avec la version 3.17 et ultérieure du noyau Linux, vous n’avez pas besoin de compiler le module de noyau par défaut. Cependant, le module de noyau USB/IP n’est pas disponible pour RHEL et Rocky Linux. Pour utiliser la redirection de périphériques USB avec ces distributions Linux, vous devez installer ou compiler le module de noyau USB/IP. Téléchargez et installez USB/IP depuis https://pkgs.org/download/kmod-usbip en fonction de votre distribution Linux.
Définir les stratégies de redirection de périphériques USB
Une stratégie Citrix contrôle si la redirection de périphériques USB est activée ou désactivée. Le type de périphérique peut également être spécifié à l’aide d’une stratégie Delivery Controller™. Lors de la configuration de la redirection de périphériques USB pour le Linux VDA, configurez les stratégies suivantes :
- Redirection de périphériques USB client
- Règles de redirection de périphériques USB client
- #### Activer la redirection de périphériques USB
Dans Citrix Studio, activez (ou désactivez) la redirection de périphériques USB depuis le client (pour les hôtes de station de travail uniquement).
Dans la boîte de dialogue Modifier le paramètre :
- Sélectionnez Autorisé.
- Cliquez sur OK.

Définir les règles de redirection de périphériques USB
- Après avoir activé la stratégie de redirection USB, définissez les règles de redirection à l’aide de Citrix Studio en spécifiant les périphériques autorisés (ou refusés) sur le Linux VDA.
Dans la boîte de dialogue Règles de redirection de périphériques USB client :
- Cliquez sur Nouveau pour ajouter une règle de redirection, ou cliquez sur Modifier pour examiner une règle existante.
- Après avoir créé (ou modifié) une règle, cliquez sur OK.

Remarque :
Lors de la configuration de la redirection de périphériques USB, assurez-vous de définir l’option Redirection de périphériques USB client sur Autorisé et de configurer les Règles de redirection de périphériques USB client sur Allow:#all ok. Le fait de ne pas configurer les deux paramètres peut entraîner la disparition de la souris externe lors d’un clic dans une session.
Résolution des problèmes de redirection de périphériques USB
Utilisez les informations de cette section pour résoudre les divers problèmes que vous pourriez rencontrer lors de l’utilisation du VDA Linux.
Impossible de démonter le disque USB redirigé
Le VDA Linux gère tous les disques USB redirigés depuis l’application Citrix Workspace sous privilège administratif afin de s’assurer que seul le propriétaire peut accéder au périphérique redirigé. Par conséquent, vous ne pouvez démonter le périphérique qu’avec un privilège administratif.

Fichier perdu lorsque vous arrêtez la redirection d’un disque USB
Si vous arrêtez immédiatement la redirection d’un disque USB à l’aide de la barre d’outils de l’application Citrix Workspace, les fichiers que vous avez modifiés ou créés sur le disque peuvent être perdus. Ce problème se produit car lorsque vous écrivez des données dans un système de fichiers, le système monte le cache mémoire dans le système de fichiers. Les données ne sont pas écrites sur le disque lui-même. Si vous arrêtez la redirection à l’aide de la barre d’outils de l’application Citrix Workspace, il ne reste plus de temps pour que les données soient vidées sur le disque, ce qui entraîne une perte de données.
Pour résoudre ce problème, utilisez la commande sync dans un terminal pour vider les données sur le disque avant d’arrêter la redirection USB.
Aucun périphérique dans la barre d’outils de l’application Citrix Workspace
Parfois, il est possible que vous ne voyiez pas les périphériques répertoriés dans la barre d’outils de l’application Citrix Workspace, ce qui indique qu’aucune redirection USB n’est en cours.

Si vous rencontrez ce problème, vérifiez les points suivants :
- La stratégie est configurée pour autoriser la redirection de périphériques USB.
- Le module de service USB Citrix est en cours d’exécution.
Si la stratégie n’est pas configurée correctement, corrigez-la en vous référant à la section Définir les stratégies de redirection de périphériques USB de cet article.
Si le module de service USB Citrix n’est pas en cours d’exécution, suivez les étapes suivantes :
-
Vérifiez si un module de noyau USB/IP est disponible sur votre distribution Linux à l’aide de la commande suivante :
modinfo usbip-core <!--NeedCopy--> -
Si la sortie s’affiche comme suit, installez ou compilez le module de noyau USB/IP en fonction de votre distribution Linux :
modinfo: ERROR: Module usbip-core not found. <!--NeedCopy-->- Pour RHEL et Rocky Linux, consultez la section Installer ou compiler le module de noyau USB/IP de cet article.
- Pour SUSE, téléchargez et installez le package USB/IP depuis https://software.opensuse.org/package/usbip.
-
Pour Ubuntu/Debian, suivez les étapes suivantes pour compiler et installer le module de noyau USB/IP :
-
Téléchargez le code source du module de noyau USB/IP.
Accédez au référentiel du noyau Linux à l’adresse https://github.com/torvalds/linux/tree/master/drivers/usb/usbip, sélectionnez l’étiquette de la version cible du noyau Linux (v4.15 ou ultérieure) et obtenez le lien tel que https://github.com/torvalds/linux/tree/v4.15/drivers/usb/usbip.
Accédez à DownGit et entrez le lien précédent pour créer un lien de téléchargement pour le code source USB/IP.
-
Décompressez le fichier source à l’aide des commandes suivantes :
unzip ${USBIP_SRC}.zip cd usbip <!--NeedCopy--> -
Modifiez le fichier Makefile comme suit :
# 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--> -
Compilez le code source :
apt-get install linux-headers-`uname -r` make -C /lib/modules/`uname -r`/build M=$PWD <!--NeedCopy--> -
Installez le module de noyau USB/IP :
cp usbip-core.ko vhci-hcd.ko /opt/Citrix/VDA/lib64/ <!--NeedCopy--> -
Redémarrez le service ctxusbsd pour charger le module de noyau USB/IP :
systemctl restart ctxusbsd <!--NeedCopy-->
-
Échec de la redirection lorsque les périphériques USB sont visibles dans la barre d’outils de l’application Citrix Workspace, mais sont étiquetés « stratégie restreinte »
Lorsque le problème se produit, procédez comme suit :
- Configurez la stratégie du VDA Linux pour activer la redirection.
-
Vérifiez si des restrictions de stratégie supplémentaires sont configurées dans le registre de l’application Citrix Workspace. Vérifiez DeviceRules dans le chemin du registre pour vous assurer que l’accès au périphérique n’est pas refusé par ce paramètre :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\GenericUSB
Un périphérique USB est redirigé avec succès, mais je ne peux pas l’utiliser dans ma session
Généralement, seuls les périphériques USB pris en charge peuvent être redirigés. D’autres périphériques peuvent également être redirigés vers une session VDA Linux active. Pour chaque périphérique redirigé, un nœud appartenant à l’utilisateur est créé dans le chemin système /dev. Cependant, ce sont les pilotes et la configuration qui déterminent si l’utilisateur peut utiliser le périphérique avec succès. Si vous trouvez un périphérique possédé (branché) mais inaccessible, ajoutez le périphérique à une stratégie illimitée.
Remarque :
Pour les lecteurs USB, le VDA Linux configure et monte le disque. L’utilisateur (et seul le propriétaire qui l’a installé) peut accéder au disque sans aucune configuration supplémentaire. Ce n’est peut-être pas le cas pour les périphériques qui ne figurent pas dans la liste des périphériques pris en charge.
Dans cet article
- Fonctionnement de la redirection de périphériques USB
- Périphériques USB pris en charge
- Configurer la redirection de périphériques USB
-
Résolution des problèmes de redirection de périphériques USB
- Impossible de démonter le disque USB redirigé
- Fichier perdu lorsque vous arrêtez la redirection d’un disque USB
- Aucun périphérique dans la barre d’outils de l’application Citrix Workspace
- Échec de la redirection lorsque les périphériques USB sont visibles dans la barre d’outils de l’application Citrix Workspace, mais sont étiquetés « stratégie restreinte »
- Un périphérique USB est redirigé avec succès, mais je ne peux pas l’utiliser dans ma session