Configurar la redirección USB
Los dispositivos USB se comparten entre la aplicación Citrix Workspace™ y el escritorio de Linux VDA. Cuando un dispositivo USB se redirige al escritorio, puede usar el dispositivo USB como si estuviera conectado localmente.
Sugerencia:
Recomendamos usar la redirección USB cuando la latencia de red sea inferior a 100 milisegundos. No use la redirección USB cuando la latencia de red sea superior a 200 milisegundos.
La redirección USB incluye tres áreas principales de funcionalidad:
-
Implementación de proyecto de código abierto (VHCI)
-
Servicio VHCI
-
Servicio USB
VHCI de código abierto:
Esta parte de la función de redirección USB desarrolla un sistema general de uso compartido de dispositivos USB a través de una red IP. Consiste en un controlador de kernel de Linux y algunas bibliotecas de modo de usuario que le permiten comunicarse con el controlador de kernel para obtener todos los datos USB. En la implementación de Linux VDA, Citrix reutiliza el controlador de kernel de VHCI. Sin embargo, todas las transferencias de datos USB entre Linux VDA y la aplicación Citrix Workspace están encapsuladas en el paquete de protocolo Citrix ICA®.
Servicio VHCI:
El servicio VHCI es un servicio de código abierto proporcionado por Citrix para comunicarse con el módulo del kernel VHCI. Este servicio funciona como una puerta de enlace entre VHCI y el servicio USB de Citrix.
Servicio USB:
El servicio USB actúa como un módulo de Citrix que gestiona toda la virtualización y las transferencias de datos en el dispositivo USB.
Cómo funciona la redirección USB
Normalmente, si un dispositivo USB se redirige correctamente al Linux VDA, se crean uno o más nodos de dispositivo en la ruta /dev del sistema. Sin embargo, a veces el dispositivo redirigido no se puede usar para una sesión activa de Linux VDA. Los dispositivos USB dependen de los controladores para funcionar correctamente y algunos dispositivos requieren controladores especiales. Si no se proporcionan controladores, los dispositivos USB redirigidos son inaccesibles para la sesión activa de Linux VDA. Para garantizar la conectividad del dispositivo USB, instale los controladores y configure el sistema correctamente.
El VDA de Linux admite una lista de dispositivos USB que se redirigen correctamente hacia y desde el cliente.
Dispositivos USB compatibles
Se ha comprobado que los siguientes dispositivos son compatibles con esta versión del VDA de Linux. Otros dispositivos se pueden usar libremente, con resultados inesperados:
Nota:
El VDA de Linux solo admite protocolos USB 2.0.
| Dispositivo de almacenamiento masivo USB | VID:PID | Sistema de archivos |
|---|---|---|
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 |
| Ratón USB 3D | VID:PID |
|---|---|
3DConnexion SpaceMouse Pro |
046d: c62b |
| Escáner USB | VID:PID |
|---|---|
Epson Perfection V330 photo |
04B8: 0142 |
Configurar la redirección USB
Una política de Citrix controla si la redirección de dispositivos USB está habilitada o deshabilitada. El tipo de dispositivo también se puede especificar mediante una política de Delivery Controller™. Al configurar la redirección USB para el VDA de Linux, configure la siguiente política y reglas:
-
Política de redirección de dispositivos USB de cliente
-
Reglas de redirección de dispositivos USB de cliente
Habilitar la redirección USB
En Citrix Studio, habilite (o deshabilite) la redirección de dispositivos USB hacia y desde el cliente (solo para hosts de estación de trabajo).
En el cuadro de diálogo Modificar configuración:
-
Seleccione Permitido.
-
Haga clic en Aceptar.
Establecer reglas de redirección USB
Después de habilitar la directiva de redirección USB, establezca las reglas de redirección mediante Citrix Studio, especificando qué dispositivos están permitidos (o denegados) en el Linux VDA.
En el cuadro de diálogo Reglas de redirección de dispositivos USB de cliente:
-
Haga clic en Nuevo para agregar una regla de redirección, o haga clic en Modificar para revisar una regla existente.
-
Después de crear (o modificar) una regla, haga clic en Aceptar.
Crear el módulo del kernel VHCI
La redirección USB depende de los módulos del kernel VHCI (
usb-vhci-hcd.ko y usb-vhci-iocif.ko). Estos módulos forman parte de la distribución de Linux VDA (como parte del paquete RPM). Se compilan basándose en los kernels oficiales de la distribución de Linux y se indican en la siguiente tabla:
| Distribución de Linux compatible | Versión del kernel |
|---|---|
| RHEL 8.3 | 4.18.0-240 |
| RHEL 8.2 | 4.18.0-240 |
| RHEL 8.1 | 4.18.0-240 |
| RHEL 7.9, CentOS 7.9 | 3.10.0-1160 |
| RHEL 7.8, CentOS 7.8 | 3.10.0-1160 |
| SUSE 12.5 | 4.12.14 |
| Ubuntu 20.04 | 5.4.0-81 |
| Ubuntu 18.04 | 4.15.0-154 |
| Ubuntu 16.04 | 4.4.0-210 |
| Debian 10 | 4.19.0-17 |
Importante:
Si el kernel de su máquina no es compatible con el controlador creado para Linux VDA, es posible que el servicio USB no se inicie. En este caso, solo puede usar la función de redirección USB si crea sus propios módulos del kernel VHCI.
verificar si su kernel es coherente con los módulos creados por Citrix
En la línea de comandos, ejecute el siguiente comando para verificar si el kernel es coherente:
insmod /opt/Citrix/VDA/lib64/usb-vhci-hcd.ko
Si el comando se ejecuta correctamente, el módulo del kernel se ha cargado correctamente y la versión es coherente con la instalada por Citrix.
Si el comando se ejecuta con errores, el kernel es incoherente con el módulo de Citrix y debe reconstruirse.
Reconstruir el módulo del kernel VHCI
Si el módulo del kernel no es coherente con la versión de Citrix, haga lo siguiente:
-
Descargue el código fuente de LVDA del sitio de descargas de Citrix. Seleccione el archivo en la sección "Linux Virtual Delivery Agent (sources)".
-
Extraiga el archivo citrix-linux-vda-sources.zip. Vaya a linux-vda-sources/vhci-hcd-1.15.zip y extraiga los archivos fuente de VHCI mediante el comando
unzip vhci-hcd-1.15.zip. -
Asegúrese de tener instalado el paquete de Linux VDA y, a continuación, ejecute uno de los siguientes comandos:
-
sudo bash ctxusbcfg.sh dkmsEste comando le permite usar el programa Dynamic Kernel Module Support (DKMS) para administrar sus módulos del kernel VHCI. DKMS no está disponible para SUSE.Nota:El comandosudo bash ctxusbcfg.sh dkmsinstala los programaskernel-develyDKMSen su VDA. Al instalar los programas en RHEL y CentOS, el comando instala y habilita el repositorio Extra Packages for Enterprise Linux (EPEL) en su VDA.DKMS podría fallar al compilar los módulos del kernel VHCI (usb-vhci-hcd.koyusb-vhci-iocif.ko) cuando realice una actualización importante del kernel, por ejemplo, de la versión 4.x.y a la versión 5.x.y. Si DKMS falla, ejecutesudo bash ctxusbcfg.sh dkmsde nuevo. -
sudo bash ctxusbcfg.sh buildEste comando compila e instala los módulos del kernel VHCI sin la opción DKMS.
-
Solucionar problemas de redirección USB
Utilice la información de esta sección para solucionar varios problemas que pueden surgir al usar el VDA de Linux.
No se puede desmontar el disco USB redirigido
El VDA de Linux administra todos los discos USB redirigidos desde la aplicación Citrix Workspace con privilegios administrativos para garantizar que solo el propietario pueda acceder al dispositivo redirigido. Como resultado, solo puede desmontar el dispositivo con privilegios administrativos.
Archivo perdido al dejar de redirigir un disco USB
Si deja de redirigir un disco USB inmediatamente usando la barra de herramientas de la aplicación Citrix Workspace, los archivos que modificó o creó en el disco pueden perderse. Este problema ocurre porque cuando se escriben datos en un sistema de archivos, el sistema monta la caché de memoria en el sistema de archivos. Los datos no se escriben en el disco en sí. Si deja de redirigir usando la barra de herramientas de la aplicación Citrix Workspace, no queda tiempo para que los datos se vacíen en el disco, lo que resulta en la pérdida de datos. Para resolver este problema, use el comando sync en un terminal para vaciar los datos en el disco antes de detener la redirección USB.
No hay dispositivos en la barra de herramientas de la aplicación Citrix Workspace
A veces, es posible que no vea dispositivos en la barra de herramientas de la aplicación Citrix Workspace, lo que indica que no se está produciendo ninguna redirección USB. Si se encuentra con este problema, verificar lo siguiente:
-
La directiva está configurada para permitir la redirección USB
-
El módulo del kernel es compatible con su kernel
Nota:
La ficha Dispositivos no está disponible en la aplicación Citrix Workspace para Linux.
Redirección fallida cuando los dispositivos USB se ven en la barra de herramientas de la aplicación Citrix Workspace, pero están etiquetados como restringidos por directiva
Cuando ocurra el problema, haga lo siguiente:
-
Configure la política de Linux VDA para habilitar la redirección.
-
Compruebe si hay restricciones de política adicionales configuradas en el registro de la aplicación Citrix Workspace. Compruebe DeviceRules en la ruta del registro para asegurarse de que este ajuste no deniega el acceso al dispositivo:HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Wow6432Node\\Citrix\\ICA Client\\GenericUSB
Un dispositivo USB se redirige correctamente, pero no puedo usarlo en mi sesión
Normalmente, solo se pueden redirigir dispositivos USB compatibles. Otros dispositivos también pueden redirigirse a una sesión activa de Linux VDA. Para cada dispositivo redirigido, se crea un nodo propiedad del usuario en la ruta /dev del sistema. Sin embargo, son los controladores y la configuración los que determinan si el usuario puede usar el dispositivo correctamente. Si encuentra un dispositivo conectado (enchufado) pero inaccesible, añádalo a una política sin restricciones.
Nota:
Para las unidades USB, el Linux VDA configura y monta el disco. El usuario (y solo el propietario que lo instaló) puede acceder al disco sin ninguna configuración adicional. Este podría no ser el caso de los dispositivos que no están en la lista de dispositivos compatibles.