USB

La prise en charge USB permet aux utilisateurs d’interagir avec une large gamme de périphériques USB connectés au bureau virtuel. Les utilisateurs peuvent brancher des périphériques USB sur leurs ordinateurs et les périphériques sont redirigés sur leurs bureaux virtuels après l’activation de la redirection automatique. Vous pouvez activer la redirection automatique manuellement via les paramètres du fichier de configuration. La redirection automatique des périphériques USB est désactivée par défaut. Les périphériques USB disponibles pour la connexion à distance sont les suivants :

  • Lecteurs Flash
  • Smartphones
  • PDA
  • Imprimantes
  • Scanners
  • Lecteurs MP3
  • Dispositifs de sécurité
  • Tablettes

La redirection USB nécessite Citrix Virtual Apps and Desktops 7.6 ou une version ultérieure.

Les fonctionnalités isochrones des périphériques USB sont prises en charge dans des environnements LAN à faible latence ou à haut débit :

  • Webcams
  • Micros
  • Haut-parleurs
  • Casques

Mais généralement, la redirection audio ou webcam standard est plus appropriée.

Les types de périphériques suivants sont pris en charge directement dans une session d’applications et de bureaux virtuels ; ils n’utilisent donc pas la prise en charge USB :

  • Claviers
  • Souris
  • Cartes à puce
  • Casques
  • Webcams

Remarque :

Les périphériques USB spécialisés (par exemple, claviers et souris 3D Bloomberg) peuvent être configurés pour utiliser la prise en charge USB. Pour plus d’informations sur la configuration des règles de stratégie pour d’autres périphériques USB spécialisés, consultez l’article CTX119722.

Par défaut, certains types de périphériques USB ne sont pas pris en charge pour l’accès à distance via Citrix Virtual Apps and Desktops ou Citrix DaaS. Par exemple, une carte d’interface réseau peut être reliée à la carte système par une connexion USB interne. La configuration d’un accès à distance à la carte réseau n’est pas appropriée. Par défaut, les types de périphériques USB suivants ne sont pas pris en charge dans les applications et bureaux virtuels :

  • Dongles Bluetooth
  • Cartes réseau intégrées
  • Concentrateurs USB

Pour mettre à jour la liste par défaut des périphériques USB disponibles pour l’accès à distance, modifiez le fichier usb.conf se trouvant dans le dossier $ICAROOT/. Pour de plus amples informations, consultez la section Mettre à jour la liste des périphériques USB disponibles pour l’accès à distance.

Pour permettre l’envoi des périphériques USB sur les bureaux virtuels, activez la règle de stratégie USB. Pour de plus amples informations, consultez la documentation de Citrix Virtual Apps and Desktops.

Fonctionnement de la prise en charge USB

Lorsqu’un utilisateur branche un périphérique USB, il est vérifié par rapport à la stratégie USB. Et, si autorisé, redirigé vers le bureau virtuel. Si la stratégie par défaut refuse le périphérique, il n’est disponible que sur le bureau local.

Supposons qu’un utilisateur branche un périphérique USB sur des ordinateurs de bureau accessibles via le mode Desktop Appliance. Dans ce cas, ce périphérique est automatiquement redirigé vers le bureau virtuel une fois que la redirection automatique a été activée manuellement via les paramètres du fichier de configuration. La redirection automatique des périphériques USB est désactivée par défaut. Pour configurer la redirection automatique des périphériques USB, procédez comme suit :

  1. Accédez au fichier de configuration $Home/.ICAClient/wfclient.ini.
  2. Ajouter l’entrée suivante :

    DesktopApplianceMode=True

  3. Accédez au fichier de configuration /opt/Citrix/ICAClient/usb.conf.
  4. Définissez l’une des règles de périphérique suivantes :

    • CONNECT — Définissez le mot clé « CONNECT » pour activer la redirection automatique d’un périphérique au démarrage d’une session.
    • ALLOW — Définissez le mot clé « ALLOW » pour autoriser la redirection automatique d’un périphérique uniquement après le début d’une session. Toutefois, si vous définissez le mot clé CONNECT ou ALLOW, le périphérique est automatiquement redirigé lorsqu’il est débranché et branché au cours d’une session.

    Exemple de règle de périphérique : CONNECT: vid=046D pid=0002 # Allow a specific device by vid/pid ALLOW: vid=046D pid=0102 # Allow a specific device by vid/pid

Pour que la redirection fonctionne, la fenêtre de session doit avoir le focus lorsque l’utilisateur branche le périphérique USB, sauf si le mode Desktop Appliance est utilisé.

Remarque :

Si vous configurez la stratégie USB sur un périphérique à l’aide du mot clé « CONNECT » et que vous définissez DesktopApplianceMode sur Vrai, le périphérique USB est automatiquement redirigé vers la session VDA. Lorsque le mode DesktopApplianceMode est défini sur Faux, le périphérique USB ne redirige pas automatiquement vers la session VDA.

Limitation connue :

  • Pour la redirection USB, les stratégies définies dans le fichier usb.conf peuvent ne pas fonctionner et les périphériques USB peuvent ne pas être redirigés vers la session. Ce problème se produit si le fichier usb.conf contient plus de 2 000 caractères. Pour contourner ce problème, vous pouvez supprimer les commentaires existants dans les stratégies afin de réduire le nombre de caractères dans le fichier usb.conf.
  • La redirection USB générique n’est prise en charge que lorsque le focus se trouve sur la fenêtre du bureau virtuel.

Périphériques de stockage de masse

Supposons qu’un utilisateur se déconnecte d’un bureau virtuel alors qu’un périphérique de stockage de masse USB est toujours branché sur le bureau local. Dans ce cas, ce périphérique n’est pas redirigé vers le bureau virtuel lorsque l’utilisateur se reconnecte. Pour vérifier que le périphérique de stockage de masse est effectivement redirigé sur le bureau virtuel, l’utilisateur doit retirer puis réinsérer le périphérique après la reconnexion.

Remarque :

Si vous insérez un périphérique de stockage de masse dans un poste de travail Linux configuré pour refuser la prise en charge à distance des périphériques de stockage de masse USB, l’application Citrix Workspace n’accepte pas le périphérique. Et un navigateur de fichiers Linux distinct peut s’ouvrir. Par conséquent, Citrix vous recommande de préconfigurer les machines utilisateur en désélectionnant par défaut l’option Browse removable media when inserted. Sur les périphériques Debian, utilisez la barre de menu Debian en sélectionnant Desktop > Preferences > Removable Drives and Media. Et sous l’onglet Storage, sous Removable Storage, désactivez la case à cocher Browse removable media when inserted.

Pour la redirection de périphérique USB client, tenez compte de qui suit.

Remarques :

Supposons que la stratégie de serveur de redirection de périphérique USB client est activée. Dans ce cas, les périphériques de stockage de masse sont dirigés comme des périphériques USB même si le mappage des lecteurs clients est activé.

Classes USB

La règle de stratégie USB par défaut autorise les classes de périphériques USB suivantes :

  • Audio (Classe 01)

    Inclut les microphones, haut-parleurs, casques et contrôleurs MIDI.

  • Interface physique (Classe 05)

    Ces périphériques sont similaires aux périphériques d’interface utilisateur (HID), mais ils fournissent en général des données en temps réel et comprennent des joysticks de retour de force, des plates-formes mouvantes et des exosquelettes de retour de force.

  • Acquisition d’images fixes (Classe 06)

    Comprend scanners et appareils photo numériques. Les appareils photo numériques prennent en charge la classe d’acquisition d’images fixes qui utilise les protocoles suivants pour transférer des images sur un ordinateur ou un autre périphérique :

    • Picture Transfer Protocol (PTP) ou
    • Media Transfer Protocol (MTP)

    Les appareils photo peuvent également apparaître en tant que périphériques de stockage de masse. Il est également possible de configurer un appareil photo pour utiliser les deux classes, par le biais des menus fournis par l’appareil photo.

    Si un appareil photo apparaît en tant que périphérique de stockage de masse, le mappage des lecteurs clients est utilisé et la prise en charge USB n’est pas requise.

  • Imprimantes (Classe 07)

    En général, la plupart des imprimantes appartiennent à cette classe, à l’exception de certaines qui utilisent des protocoles spécifiques au fabricant (classe ff). Les imprimantes multifonctions peuvent disposer d’un concentrateur interne ou être des périphériques composites. Dans les deux cas, l’élément d’impression utilise généralement la classe Imprimantes et l’élément de fax ou de numérisation utilise une autre classe ; par exemple, acquisition d’images fixes.

    Les imprimantes fonctionnent correctement sans prise en charge USB.

  • Stockage de masse (Classe 08)

    Les périphériques de stockage de masse les plus courants sont les lecteurs flash USB. Les disques dur USB, lecteurs CD/DVD et lecteurs de cartes SD/MMC sont également des périphériques de stockage de masse. Les périphériques disposant d’un espace de stockage interne dotés d’une interface de stockage de masse sont également nombreux. Les lecteurs multimédias, les appareils photos numériques et les téléphones portables sont compris dans cette catégorie. Sous-classes connues :

  • 01 Périphériques flash limités
  • 02 Lecteurs de CD/DVD (ATAPI/MMC-2)
  • 03 Lecteurs de bandes (QIC-157)
  • 04 Lecteurs de disquettes (UFI)
  • 05 Lecteurs de disquettes (SFF-8070i)
  • 06 La plupart des périphériques de stockage de masse utilisent cette variante de SCSI.

    Étant donné que le mappage des lecteurs clients peut être utilisé pour accéder à la plupart des périphériques de stockage de masse au travers du mappage de lecteur client, la prise en charge USB n’est pas requise.

    Important : certains virus sont connus pour se propager activement à l’aide de tous les types de stockage de masse. Posez-vous la question de savoir si les besoins de votre entreprise justifient l’utilisation de périphériques de stockage de masse, soit via le mappage des lecteurs clients, soit via la prise en charge USB. Pour réduire le risque, le serveur peut être configuré pour empêcher l’exécution des fichiers via le mappage de lecteurs clients.

    Remarque :

    Si vous souhaitez rediriger un pilote USB 3.0 vers le Linux VDA à l’aide de la redirection USB générique, branchez la clé USB dans un logement USB 3.0.

  • Sécurité du contenu (Classe 0d)

    Les périphériques de sécurité du contenu assurent la protection du contenu, en général pour la gestion des licences ou des droits numériques. Cette classe comprend les dongles.

  • Santé personnelle (Classe 0f)

    Les appareils de santé personnelle incluent les éléments suivants :

    • Capteurs de pression artérielle
    • Moniteurs de fréquence cardiaque
    • Podomètres
    • Piluliers
    • Spirometers
  • Spécifique au fabricant et à l’application (Classes fe et ff)

    De nombreux périphériques utilisent des protocoles spécifiques au fabricant ou des protocoles qui n’ont pas été adoptés par le consortium USB, et ces périphériques apparaissent en général comme spécifiques au fabricant (classe ff).

Classes de périphériques USB

Les règles de stratégie USB par défaut refusent les classes de périphériques USB suivantes :

  • Communications et contrôle CDC (Classes 02 et 0a)

    Comprend modems, cartes RNIS, cartes réseau ainsi que certains téléphones et télécopieurs.

    La stratégie USB par défaut n’autorise pas ces périphériques, car l’un d’entre eux peut fournir la connexion au bureau virtuel.

  • Périphériques d’interface utilisateur (Classe 03)

    Comprend un large éventail de périphériques d’entrée et de sortie. Les périphériques d’interface utilisateur (HID) incluent les éléments suivants :

    • Claviers
    • Souris
    • Dispositifs de pointage
    • Tablettes graphiques
    • Capteurs
    • Contrôleurs de jeu
    • Boutons
    • Fonctions de commande

    La sous-classe 01 est appelée classe « boot interface » ; elle est utilisée pour les claviers et les souris.

    La stratégie USB par défaut n’autorise ni les claviers USB (classe 03, sous-classe 01, protocole 1), ni les souris USB (classe 03, sous-classe 01, protocole 2). En effet, la majorité des claviers et des souris sont correctement gérés sans prise en charge USB. Il est normalement nécessaire d’utiliser ces périphériques localement ainsi qu’à distance lors de la connexion à un bureau virtuel.

  • Concentrateurs USB (Classe 09)

    Les concentrateurs USB permettent de connecter des périphériques supplémentaires à l’ordinateur local. Il n’est pas nécessaire d’accéder à ces périphériques à distance.

  • Cartes à puce (Classe 0b)

    Les lecteurs de carte à puce comprennent des lecteurs de carte à puce avec ou sans contact, ainsi que des jetons USB dotés d’une puce équivalente à une carte à puce.

    L’accès distant par carte à puce est utilisé pour accéder aux lecteurs de carte à puce et la prise en charge USB n’est pas nécessaire.

  • Vidéo (Classe 0e)

    La classe vidéo couvre les périphériques qui sont utilisés pour manipuler du matériel vidéo ou lié à la vidéo, tels que :

    • Webcams
    • Caméscopes numériques
    • Convertisseurs vidéo analogique
    • Certains tuners de télévision
    • Certains appareils photo numériques compatibles avec le streaming vidéo

    De manière générale, la compression vidéo de caméra Web HDX RealTime offre des performances optimales.

  • Contrôleurs sans fil (Classe e0)

    Comprend une large gamme de contrôleurs sans fil, tels que les contrôleurs de bande ultra large et Bluetooth.

    Certains de ces appareils peuvent fournir un accès réseau critique ou connecter des périphériques critiques tels que des claviers ou des souris Bluetooth.

    La stratégie USB par défaut n’autorise pas ces appareils. Toutefois, il peut être utile pour certains appareils de fournir l’accès à l’aide de la prise en charge USB.

Liste des périphériques USB

Vous pouvez mettre à jour la gamme de périphériques USB disponibles pour l’accès à distance depuis des bureaux en modifiant la liste des règles par défaut figurant dans le fichier usb.conf sur la machine utilisateur dans le répertoire $ICAROOT/.

Vous pouvez mettre à jour la liste en ajoutant de nouvelles règles de stratégie afin d’autoriser ou de refuser des périphériques USB non compris dans la gamme par défaut. Les règles créées de cette manière par un administrateur contrôlent les périphériques qui sont offerts au serveur. Les règles sur le serveur contrôlent ensuite les périphériques qui sont acceptés.

La configuration des stratégies par défaut relative aux périphériques non autorisés est la suivante :

DENY: class=09 # Hub devices

DENY: class=03 subclass=01 # HID Boot device (keyboards and mice)

DENY: class=0b # Smartcard

DENY: class=e0 # Wireless Controllers

DENY: class=02 # Communications and CDC Control

DENY: class=03 # UVC (webcam)

DENY: class=0a # CDC Data

ALLOW: # Ultimate fallback: allow everything else

Règles de stratégie USB

Conseil : lorsque vous créez des règles de stratégie, reportez-vous aux codes de catégories USB, disponibles sur le site Web USB à l’adresse http://www.usb.org/. Les règles de stratégie figurant dans le fichier usb.conf de la machine utilisateur prennent le format {ALLOW DENY:} suivi d’un ensemble d’expressions reposant sur les valeurs des balises suivantes 
Balise Description
VID ID fournisseur du descripteur de périphérique
REL ID de version du descripteur de périphérique
PID ID de produit du descripteur de périphérique
Classe Classe du descripteur de périphérique ou d’un descripteur d’interface
Sous-classe Sous-classe du descripteur de périphérique ou d’un descripteur d’interface
Prot Protocole à partir du descripteur de périphérique ou d’un descripteur d’interface

Lors de la création de règles de stratégies, prenez en compte les points suivants :

  • Les règles ne sont pas sensibles à la casse.
  • Les règles peuvent éventuellement comporter un commentaire, introduit par #, à la fin. Aucun délimiteur n’est requis et le commentaire est ignoré en cas de correspondance.
  • Les espaces vides et les lignes de commentaires pures sont ignorés.
  • L’espace utilisé comme séparateur est ignoré, mais il ne peut pas figurer au milieu d’un nombre ou d’un identificateur. Par exemple, Deny: Class = 08 SubClass=05 est une règle valide, mais Deny: Class=0 8 Sub Class=05 ne l’est pas.
  • Les balises doivent utiliser l’opérateur de correspondance =. Par exemple, VID=1230.

Exemple

L’exemple suivant illustre une section du fichier usb.conf stocké sur une machine utilisateur. Pour que ces règles soient implémentées, le même ensemble de règles doit figurer sur le serveur.

ALLOW: VID=1230 PID=0007 \# ANOther Industries, ANOther Flash Drive

DENY: Class=08 SubClass=05 \# Mass Storage Devices

DENY: Class=0D \# All Security Devices

Modes de démarrage

À l’aide du mode d’appliance de bureau, vous pouvez modifier la façon dont un bureau virtuel traite les périphériques USB préalablement connectés. Dans la section WFClient du fichier $ICAROOT/config/module.ini sur chaque machine utilisateur, définissez DesktopApplianceMode=Boolean comme suit.

   
TRUE Tous les périphériques USB déjà branchés sont disponibles au démarrage. Les périphériques ne sont disponibles au démarrage que s’ils ne sont pas interdits par une règle Refuser dans les stratégies USB. Ces stratégies USB sont définies soit sur le serveur (entrée de registre) soit sur la machine utilisateur (fichier de configuration des règles de stratégie).
FAUX Aucun périphérique USB n’est disponible au démarrage.

Remarque :

Définissez le mot clé « CONNECT » pour activer la redirection automatique d’un périphérique au démarrage d’une session. Définissez le mot clé « ALLOW » pour autoriser la redirection automatique d’un périphérique uniquement après le début d’une session. Toutefois, si vous définissez le mot clé CONNECT ou ALLOW, le périphérique est automatiquement redirigé lorsqu’il est débranché et branché au cours d’une session.

Configurer la redirection automatique de périphériques USB

Auparavant, lors d’une session, lorsqu’un périphérique était débranché et branché, il était automatiquement redirigé. Par conséquent, le périphérique était automatiquement connecté au VDA. Avec la version 2207 de l’application Citrix Workspace, vous devez activer la redirection automatique manuellement via les paramètres du fichier de configuration. La redirection automatique des périphériques USB est désactivée par défaut.

Pour configurer la redirection automatique des périphériques USB (standard et composites), procédez comme suit :

  1. Accédez au fichier de configuration $Home/.ICAClient/wfclient.ini.
  2. Ajouter l’entrée suivante :

    DesktopApplianceMode=True

  3. Accédez au fichier de configuration /opt/Citrix/ICAClient/usb.conf.
  4. Définissez l’une des règles de périphérique suivantes :

    • CONNECT — Définissez le mot clé « CONNECT » pour activer la redirection automatique d’un périphérique au démarrage d’une session.
    • ALLOW — Définissez le mot clé « ALLOW » pour autoriser la redirection automatique d’un périphérique uniquement après le début d’une session.

    Toutefois, si le mot clé CONNECT ou ALLOW est défini, l’appareil est automatiquement redirigé lorsqu’il est débranché et branché au cours d’une session.

Exemple de règle de périphérique :

CONNECT: vid=046D pid=0002 # Autoriser un périphérique spécifique par vid/pid`

ALLOW: vid=046D pid=0102 # Autoriser un périphérique spécifique par vid/pid`

Redirection de périphérique USB composite

À partir de la version 2207, l’application Citrix Workspace permet de diviser les périphériques USB composites. Un périphérique USB composite peut effectuer plusieurs fonctions. Chacune de ces fonctions est présentée dans une interface différente. Des exemples de périphériques USB composites incluent les périphériques HID composés d’une entrée et d’une sortie audio et vidéo.

Actuellement, la redirection de périphérique USB composite n’est disponible que dans les sessions de bureau. Les appareils divisés apparaissent dans Desktop Viewer.

Auparavant, lorsqu’un périphérique était débranché et rebranché pendant une session, il était redirigé automatiquement. Par conséquent, le périphérique était automatiquement connecté au VDA. Avec cette version, vous devez activer la redirection automatique manuellement via les paramètres du fichier de configuration. La redirection automatique des périphériques USB composites est désactivée par défaut.

USB 2.1 et versions ultérieures prennent en charge la notion de périphériques USB composites selon laquelle plusieurs périphériques enfants partagent une seule connexion avec le même bus USB. Ces périphériques utilisent un espace de configuration unique et une connexion de bus partagée où un numéro d’interface unique 00-ff est utilisé pour identifier chaque machine enfant. Le périphérique USB composite est différent du concentrateur USB qui fournit une nouvelle origine de bus USB pour d’autres périphériques USB pris en charge indépendamment pour la connexion.

Les périphériques composites détectés sur le point de terminaison client peuvent être transférés à l’hôte virtuel en tant que :

  • un seul périphérique USB composite ou
  • un ensemble de périphériques enfants indépendants (périphériques partitionnés)

Lorsqu’un périphérique USB composite est transféré, l’ensemble du périphérique devient indisponible pour le point de terminaison. Cette action bloque l’utilisation locale du périphérique pour toutes les applications sur le point de terminaison, y compris le client Citrix Workspace requis pour une expérience HDX optimisée à distance.

Envisagez l’utilisation d’un casque USB avec périphérique audio et bouton HID pour le contrôle du son et du volume. Si l’ensemble du périphérique est transféré à l’aide d’un canal USB générique, le périphérique devient indisponible pour la redirection sur le canal audio HDX optimisé. Toutefois, vous pouvez obtenir la meilleure expérience possible lorsque l’audio est envoyé via le canal audio HDX optimisé, contrairement à l’audio envoyé à l’aide de pilotes audio du côté hôte via la communication USB générique à distance. Cela est dû à la nature bruyante des protocoles audio USB.

Vous remarquerez également des problèmes lorsque le clavier système ou le périphérique de pointage fait partie d’un périphérique composite avec d’autres fonctionnalités intégrées requises pour la prise en charge de sessions à distance. Lorsqu’un périphérique composite complet est transféré, le clavier ou la souris du système devient inutilisable sur le point de terminaison, sauf dans l’application ou la session de bureau à distance.

Pour résoudre ces problèmes, Citrix vous recommande de partitionner le périphérique composite et de transférer uniquement les interfaces enfants qui utilisent un canal USB générique. Ce paramètre garantit que les autres périphériques enfants sont disponibles pour être utilisés par les applications sur le point de terminaison client. Ce point de terminaison client inclut l’application Citrix Workspace qui fournit des expériences HDX optimisées, tout en transférant uniquement les périphériques requis et en les mettant à la disposition de la session à distance.

Règles de périphériques :

Comme pour les périphériques USB standard, les périphériques composites à transférer sont sélectionnés en fonction des règles de périphérique définies dans la configuration de l’application Citrix Workspace. L’application Citrix Workspace utilise ces règles pour décider sur quels périphériques USB la redirection vers la session à distance doit être autorisée ou bloquée.

Chaque règle comprend les éléments suivants qui correspondent aux périphériques réels du sous-système USB des points de terminaison :

  • Un mot clé d’action tel qu’Autoriser, Connecter ou Refuser
  • Deux-points (:)
  • Aucun ou plusieurs paramètres de filtre

Les paramètres de filtre précédents correspondent aux métadonnées du descripteur de périphérique USB utilisées par chaque périphérique USB pour s’identifier.

Chaque règle de périphériques est constituée d’un texte en clair qui s’affiche sur une seule ligne et d’un commentaire facultatif après le caractère #. Les règles sont mises en correspondance de haut en bas (ordre de priorité décroissant). La première règle qui correspond au périphérique ou à l’interface enfant est appliquée. Les règles suivantes qui sélectionnent le même périphérique ou la même interface sont ignorées.

Pour modifier les règles de périphériques, procédez comme suit :

  1. Accédez au fichier /opt/Citrix/ICAClient/usb.conf.
  2. Mettez à jour les règles de périphérique si nécessaire.

Exemples de règle de périphérique :

ALLOW: vid=046D pid=0102 # Allow a specific device by vid/pid

ALLOW: vid=0505 class=03 subclass=01 # Allow any pid for vendor 0505 w/subclass=01

DENY: vid=0850 pid=040C # deny a specific device (including all child devices)

DENY: class=03 subclass=01 prot=01 # deny any device that matches all filters

CONNECT: vid=0911 pid=0C1C # Allow and auto-connect a specific device

ALLOW: vid=0286 pid=0101 split=01 # Split this device and allow all interfaces

ALLOW: vid=1050 pid=0407 split=01 intf=00,01 # Split and allow only 2 interfaces

CONNECT: vid=1050 pid=0407 split=01 intf=02 # Split and auto-connect interface 2

DENY: vid=1050 pid=0407 split=1 intf=03 # Prevent interface 03 from being remoted

Vous pouvez utiliser l’un des paramètres de filtre suivants pour appliquer des règles aux périphériques rencontrés :

Paramètre de filtre Description
vid=xxxx ID de fournisseur du périphérique USB (code hexadécimal à quatre chiffres)
pid=xxxx ID de produit du périphérique USB (code hexadécimal à quatre chiffres)
rel=xxxx ID de version du périphérique USB (code hexadécimal à quatre chiffres)
class=xx Code de classe du périphérique USB (code hexadécimal à deux chiffres)
subclass=xx Code de sous-classe du périphérique USB (code hexadécimal à deux chiffres)
prot=xx Code de protocole du périphérique USB (code hexadécimal à deux chiffres)
split=1 (ou split=0) Permet de sélectionner un périphérique composite à partitionner (ou à ne pas partitionner)
intf=xx[,xx,xx,…] Permet de sélectionner un ensemble spécifique d’interfaces enfants d’un périphérique composite (liste de codes hexadécimaux à deux chiffres séparée par des virgules)

Les six premiers paramètres permettent de sélectionner les périphériques USB pour lesquels la règle doit être appliquée. Si aucun paramètre n’est spécifié, la règle fait correspondre un périphérique à n’importe quelle valeur pour ce paramètre.

Le forum USB Implementors conserve une liste des valeurs de classe, de sous-classe et de protocole définies sur la page Defined Class Codes. USB-IF conserve également une liste des ID de fournisseur enregistrés. Vous pouvez vérifier le fournisseur, le produit, la version et les ID d’interface d’un périphérique spécifique à l’aide d’un outil gratuit tel que lsusb :


 <username@username>-ThinkPad-T470:/var/log$ lsusb

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 002: ID 0bda:0316 Realtek Semiconductor Corp. USB3.0-CRW

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 005: ID 138a:0097 Validity Sensors, Inc.

Bus 001 Device 004: ID 5986:111c Acer, Inc Integrated Camera

Bus 001 Device 003: ID 8087:0a2b Intel Corp.

Bus 001 Device 006: ID 17ef:609b Lenovo Lenovo USB Receiver

Bus 001 Device 045: ID 1188:a001 Bloomberg L.P. Lenovo USB Receiver

Bus 001 Device 044: ID 1188:a301 Bloomberg L.P.

Bus 001 Device 043: ID 1188:a901 Bloomberg L.P. Keyboard Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

<!--NeedCopy-->
    | <username@username>-ThinkPad-T470:/var/log$ lsusb -t

    /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M

    /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M

    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M

    |__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M

    |__ Port 1: Dev 43, If 0, Class=Hub, Driver=hub/4p, 480M

        |__ Port 1: Dev 46, If 0, Class=Human Interface Device, Driver=usbhid, 12M

        |__ Port 4: Dev 45, If 0, Class=Human Interface Device, Driver=usbhid, 12M

        |__ Port 4: Dev 45, If 1, Class=Human Interface Device, Driver=usbhid, 12M

        |__ Port 2: Dev 44, If 3, Class=Audio, Driver=snd-usb-audio, 12M

        |__ Port 2: Dev 44, If 1, Class=Vendor Specific Class, Driver=, 12M

        |__ Port 2: Dev 44, If 4, Class=Audio, Driver=snd-usb-audio, 12M

        |__ Port 2: Dev 44, If 2, Class=Audio, Driver=snd-usb-audio, 12M

        |__ Port 2: Dev 44, If 0, Class=Human Interface Device, Driver=usbhid, 12M

    |__ Port 4: Dev 6, If 1, Class=Human Interface Device, Driver=usbhid, 12M

    |__ Port 4: Dev 6, If 2, Class=Human Interface Device, Driver=usbhid, 12M

    |__ Port 4: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 12M

    |__ Port 7: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M

    |__ Port 7: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M

    |__ Port 8: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M

    |__ Port 8: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M

    |__ Port 9: Dev 5, If 0, Class=Vendor Specific Class, Driver=, 12M |

<!--NeedCopy-->

Lorsqu’ils sont présents, les deux derniers paramètres s’appliquent uniquement aux périphériques composites USB. Le paramètre split détermine si un périphérique composite doit être transféré en tant que périphérique partitionné ou en tant que périphérique composite unique.

Split=1 indique que les interfaces enfants sélectionnées d’un périphérique composite doivent être transférées en tant que périphériques partitionnés. Split=0 indique que le périphérique composite ne doit pas être partitionné.

Remarque :

Si le paramètre split est omis, Split=0 est la valeur par défaut.

Le paramètre intf sélectionne les interfaces enfants spécifiques du périphérique composite auquel l’action doit être appliquée. S’il est omis, l’action s’applique à toutes les interfaces du périphérique composite.

Prenons l’exemple d’un périphérique USB composite (par exemple, un clavier Bloomberg 4) doté de six interfaces :

  • Interface 0 - Clavier HID Bloomberg 4
  • Interface 1 - Clavier HID Bloomberg 4
  • Interface 2 - HID Bloomberg 4
  • Interface 3 - Canal audio du clavier Bloomberg 4
  • Interface 4 - Canal audio du clavier Bloomberg 4
  • Interface 5 - Canal audio du clavier Bloomberg 4
  • Les règles suggérées pour ce type de périphérique sont les suivantes :

CONNECT: vid=1188 pid=9545 split=01 intf=00 # Bloomberg 4 Keyboard HID

CONNECT: vid=1188 pid=9545 split=01 intf=01 # Bloomberg 4 Keyboard HID

CONNECT: vid=1188 pid=9545 split=01 intf=02 # Bloomberg 4 HID

DENY: vid=1188 pid=9545 split=01 intf=03 # Bloomberg 4 Keyboard Audio Channel

DENY: vid=1188 pid=9545 split=01 intf=04 # Bloomberg 4 Keyboard Audio Channel

DENY: vid=1188 pid=9545 split=01 intf=05 # Bloomberg 4 Keyboard Audio Channel

Redirection de périphérique USB composite avec Citrix Viewer

Pour connecter les périphériques USB à partir de la section Périphériques, procédez comme suit :

  1. Dans une session de bureau, accédez à Desktop Viewer sous Périphériques. Les périphériques USB divisés apparaissent.

    Split devices section

  2. Pour connecter un appareil, sélectionnez l’élément de menu requis.

Pour connecter les périphériques USB à partir de la section Préférences, procédez comme suit :

  1. Accédez à la section Préférences > Périphériques. Les périphériques USB divisés apparaissent.

    Split devices preferences section

  2. Activez les cases à cocher en regard des périphériques, selon vos besoins.

  3. Cliquez sur OK.

La configuration sélectionnée est appliquée à la connexion du périphérique.

Remarque :

Désactivez l’élément de menu ou les cases à cocher en regard des périphériques que vous souhaitez déconnecter.

Amélioration de la redirection automatique USB composite

Auparavant, vous deviez définir DesktopApplianceMode sur True dans le fichier de configuration pour rediriger automatiquement les périphériques USB au démarrage d’une session.

Avec la version 2402, vous pouvez gérer les paramètres de connexion des périphériques à partir d’une interface utilisateur dans l’application Citrix Workspace pour Linux sans dépendre des fichiers de configuration.

Les deux options suivantes sont ajoutées dans la section Périphériques de la fenêtre Préférences :

  • Au démarrage d’une session, connecter les périphériques automatiquement. Par défaut, cette case n’est pas cochée.
  • Lorsqu’un nouveau périphérique est connecté alors qu’une session est en cours, connecter le périphérique automatiquement. Par défaut, cette case est cochée.

Cette fonctionnalité est activée par défaut.

Pour configurer la redirection USB composite à l’aide de l’interface graphique, procédez comme suit :

  1. Dans la barre d’outils Desktop Viewer d’une session HDX, sélectionnez Préférences. La boîte de dialogue Citrix Workspace - Préférences s’affiche.
  2. Cliquez sur Périphériques. Vous pouvez consulter la section Périphériques.

    Périphériques

  3. Sélectionnez l’une des options suivantes ou les deux selon vos besoins :

    • Au démarrage d’une session, connecter les périphériques automatiquement : lorsque cette option est sélectionnée, les périphériques USB sont automatiquement connectés au bureau virtuel au démarrage d’une session.
    • Lorsqu’un nouveau périphérique est connecté alors qu’une session est en cours, connecter les périphériques automatiquement : lorsque cette option est sélectionnée, les périphériques USB sont automatiquement connectés au bureau virtuel pendant qu’une session est en cours.
  4. Cliquez sur OK.

Lorsqu’une ou plusieurs sessions HDX sont configurées pour la redirection automatique, les comportements sont les suivants :

  • Si une session HDX est active, tous les périphériques USB sont redirigés automatiquement.
  • Si aucune session HDX n’est active, les périphériques USB sont automatiquement redirigés vers la dernière session HDX démarrée.
  • Une fois qu’un périphérique USB est redirigé, l’utilisateur final peut l’arrêter à l’aide de la barre d’outils de la session HDX ou fermer directement la session HDX. Dans ce cas, le périphérique USB est déconnecté et reconnecté à la machine cliente. L’utilisateur final peut le rediriger à nouveau à tout moment.