Citrix Workspace app for Linux
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
June 13, 2024 Contributed by:USB support enables users to interact with a wide range of USB devices when connected to a virtual desktop. Users can plug USB devices into their computers and the devices are redirected to their virtual desktop after enabling auto-redirection. You can enable auto-redirection manually through configuration file settings. Auto-redirection of USB devices is disabled by default. USB devices available for remoting include the following:
USB redirection requires either Citrix Virtual Apps and Desktops 7.6 or later.
The following isochronous features in USB devices are supported in typical low latency or high speed LAN environments:
But usually the standard audio or webcam redirection are more suitable.
The following types of devices are supported directly in a virtual apps and desktops session, and so do not use USB support:
Note:
Specialist USB devices (for example, Bloomberg keyboards and 3D mice) can be configured to use USB support. For information on configuring policy rules for other specialist USB devices, see CTX119722.
By default, certain types of USB devices aren’t supported for remoting through Citrix Virtual Apps and Desktops or Citrix DaaS. For example, a user might have a NIC attached to the system board by internal USB. Remoting this NIC isn’t appropriate. By default, the following types of USB device aren’t supported for use in the virtual apps and desktops:
To update the default list of USB devices available for remoting, edit the usb.conf file in the $ICAROOT/ folder. For more information, see the Update the list of USB devices available for remoting section.
To allow the remoting of USB devices to virtual desktops, enable the USB policy rule. For more information, see the Citrix Virtual Apps and Desktops documentation.
When a user plugs a USB device, it’s checked against the USB policy. And, if allowed, redirected to the virtual desktop. If the default policy denies the device, it’s available only to the local desktop.
Consider a user plugging in a USB device in desktops accessed through desktop appliance mode. In this case, that device is auto-redirected to the virtual desktop after enabling auto-redirection manually through configuration file settings. Auto-redirection of USB devices is disabled by default. To configure the auto-redirection of USB devices, do the following:
Sample device rule: CONNECT: vid=046D pid=0002 # Allow a specific device by vid/pid ALLOW: vid=046D pid=0102 # Allow a specific device by vid/pid
The session window must have focus when the user plugs in the USB device for redirection to occur, unless desktop appliance mode is in use.
Note:
If you configure the USB policy to a device with the “CONNECT” keyword and set the DesktopApplianceMode to True, the USB device redirects to the VDA session automatically. When the DesktopApplianceMode mode is set to false, the USB device doesn’t redirects to the VDA session automatically.
Known limitation:
Consider that a user disconnects from a virtual desktop when a USB mass storage device (MSD) is still plugged in to the local desktop. In this case, that device isn’t redirected to the virtual desktop when the user reconnects. To verify that the MSD is redirected to the virtual desktop, the user must remove and reinsert the device after reconnecting.
Note:
If you insert an MSD into a Linux workstation configured to deny remote support for USB MSDs, Citrix Workspace app doesn’t accept the device. And a separate Linux file browser might open. So, Citrix recommends that you pre-configure user devices with the Browse removable media when inserted setting cleared by default. On Debian-based devices, do this using the Debian menu bar by selecting Desktop > Preferences > Removable Drives and Media. And on the Storage tab, under Removable Storage, clear the Browse removable media when inserted check box.
For the Client USB device redirection, note the following points.
Notes:
Consider that the Client USB device redirection server policy is turned on. In this case, the MSDs are directed as USB devices even if client drive mapping is turned on.
The default USB policy rules allow the following classes of USB device:
Cameras might also appear as mass storage devices. And it might be possible to configure a camera to use either class, through the setup menus provided by the camera itself.
If a camera appears as an MSD, client drive mapping is used, and USB support isn’t required.
Note: If a user requires to redirect a USB 3.0 driver to the Linux VDA using generic USB redirection, plug-in the USB flash drive into a USB 3.0 slot.
The default USB policy rules deny the following classes of USB devices:
Subclass 01 is known as the boot interface class and is used for keyboards and mice.
The default USB policy does not allow USB keyboards (class 03, subclass 01, protocol 1), or USB mice (class 03, subclass 01, protocol 2). This setting is because most keyboards and mice are handled appropriately without USB support. And it’s normally necessary to use these devices locally as well remotely when connecting to a virtual desktop.
By default, optimum webcam performance is provided by HDX RealTime Webcam Video Compression.
You can update the range of USB devices available for remoting to desktops by editing the list of default rules in the usb.conf file on the user device in $ICAROOT/ .
You can update the list by adding new policy rules to allow or deny USB devices not included in the default range. Rules created by an administrator in this way control which devices are offered to the server. The rules on the server control which of these devices are to be accepted.
The default policy configuration for disallowed devices is:
DENY: # Hub devices
DENY: subclass=01 # HID Boot device (keyboards and mice)
DENY: # Wireless Controllers
DENY: # Communications and CDC Control
DENY: # UVC (webcam)
ALLOW: # Ultimate fallback: allow everything else
Tip: When creating policy rules, see the USB Class Codes, available from the USB website at http://www.usb.org/. Policy rules in the usb.conf file on the user device take the format | DENY:> followed by a set of expressions that are based on values for the following tags |
Tag | Description |
---|---|
VID | Vendor ID from the device descriptor |
REL | Release ID from the device descriptor |
PID | Product ID from the device descriptor |
Class | Class from either the device descriptor or an interface descriptor |
SubClass | SubClass from either the device descriptor or an interface descriptor |
Prot | Protocol from either the device descriptor or an interface descriptor |
When creating policy rules, be aware of the following:
The following example shows a section of the usb.conf file on the user device. For these rules to be implemented, the same set of rules must exist on the server.
ALLOW: VID=1230 PID=0007 \# ANOther Industries, ANOther Flash Drive
DENY: SubClass=05 \# Mass Storage Devices
DENY: \# All Security Devices
Using desktop appliance mode, you can change how a virtual desktop handles previously attached USB devices. In the WfClient section of the $ICAROOT/config/module.ini file on each user device, set DesktopApplianceMode=Boolean as follows.
TRUE | Any USB devices that are already plugged in are available in start-up. The devices are available in start-up only if the devices are not disallowed with a Deny rule in the USB policies. These USB policies are set either on the server (registry entry) or on the user device (policy rules configuration file). |
FALSE | No USB devices are available in the start-up. |
Note:
Set the “CONNECT” keyword to enable the auto redirect of a device when a session starts. Also, set the “ALLOW” keyword to allow auto-redirect of a device only after a session starts. However, if you set the CONNECT or ALLOW keyword, it auto-redirects the device when unplugged and plugged in during a session.
Earlier, during a session, when a device was unplugged and plugged it automatically redirected. As a result, the device was auto-connected to the VDA. With the Citrix Workspace app 2207 release, you are required to enable auto-redirection manually through configuration file settings. Auto-redirection of USB devices is disabled by default.
To configure the auto-redirection of USB devices (regular and composite devices), do the following:
However, if the CONNECT or ALLOW keyword is set, the device is auto-redirected when it unplugged and plugged in during a session.
Sample device rule:
CONNECT: vid=046D pid=0002 # Allow a specific device by vid/pid`
ALLOW: vid=046D pid=0102 # Allow a specific device by vid/pid`
Starting with the 2207 version, Citrix Workspace app allows splitting of composite USB devices. A composite USB device can perform more than one function. These functions are accomplished by exposing each of those functions using different interfaces. Examples of composite USB devices include HID devices that consist of audio and video input and output.
Currently composite USB device redirection is available in desktop session only. The split devices appear in the Desktop Viewer.
Earlier when a device was unplugged and plugged in during a session, the device was auto-redirected. As a result, the device was auto connected to the VDA. With this release, you are required to enable auto-redirection manually through configuration file settings. Auto-redirection of composite USB devices is disabled by default.
USB 2.1 and later supports the notion of USB composite devices where multiple child devices share a single connection with the same USB bus. Such devices employ a single configuration space and shared bus connection where a unique interface number 00-ff is used to identify each child device. This setting is not the same as a USB hub which provides a new USB bus origin for other independently addressed USB devices for connection.
Composite devices found on the client endpoint can be forwarded to the virtual host as either:
When a composite USB device is forwarded, the entire device becomes unavailable to the endpoint. This action blocks the local usage of the device for all applications on the endpoint, including the Citrix Workspace client needed for an optimized HDX remote experience.
Consider a USB headset device with both audio device and HID button for mute and volume control. If the entire device is forwarded using a generic USB channel, the device becomes unavailable for redirection over the optimized HDX audio channel. However, you can achieve the best experience when sending the audio through the optimized HDX audio channel unlike the audio sent using host-side audio drivers through generic USB remoting. It happens because of the noisy nature of the USB audio protocols.
You also notice issues when the system keyboard or pointing device are part of a composite device with other integrated features that are required for the remote session support. When a complete composite device is forwarded, the system keyboard or mouse becomes inoperable at the endpoint, except within the remote desktop session or application.
To resolve these issues, Citrix recommends that you split the composite device and forward only the child interfaces that use a generic USB channel. This setting ensures that the other child devices are available for use by apps on the client endpoint. This client endpoint includes the Citrix Workspace app that provides optimized HDX experiences, while forwarding only the required devices and making them available to the remote session.
Device Rules:
As with regular USB devices, the composite devices for forwarding are selected based on the device rules set in the Citrix Workspace app configuration. Citrix Workspace app uses these rules to decide which USB devices to allow or prevent from forwarding to the remote session.
Each rule consists of the following that match the actual devices at the endpoints USB subsystem:
The preceding filter parameters correspond to the USB device descriptor metadata used by every USB device to identify itself.
Device rules are clear text with each rule on a single line and an optional comment after a # character. Rules are matched top down (descending priority order). The first rule that matches the device or child interface is applied. Subsequent rules that select the same device or interface are ignored.
To modify the device rules, do the following:
Sample device rules:
ALLOW: vid=046D pid=0102 # Allow a specific device by vid/pid
ALLOW: vid=0505 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: 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
You can use any of the following filter parameters to apply rules to the encountered devices:
Filter parameter | Description |
---|---|
vid=xxxx | USB device vendor ID (four-digit hexadecimal code) |
pid=xxxx | USB device product ID (four-digit hexadecimal code) |
rel=xxxx | USB device release ID (four-digit hexadecimal code) |
class=xx | USB device class code (two-digit hexadecimal code) |
subclass=xx | USB device subclass code (two-digit hexadecimal code) |
prot=xx | USB device protocol code (two-digit hexadecimal code) |
split=1 (or split=0) | Select a composite device to be split (or non-split) |
intf=xx[,xx,xx,…] | Selects a specific set of child interfaces of a composite device (comma-separated list of two-digit hexadecimal codes) |
The first six parameters select the USB devices for which the rule must be applied. If any parameter is not specified, the rule matches a device with ANY value for that parameter.
The USB Implementors Forum maintains a list of defined class, subclass, and protocol values in Defined Class Codes. USB-IF also maintains a list of registered vendor IDs. You can check the vendor, product, release, and interface IDs of a specific device using a free tool like lsusb :
-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
| -ThinkPad-T470:/var/log$ lsusb -t /: Bus 04.Port 1: Dev 1, Driver=xhci_hcd/2p, 10000M /: Bus 03.Port 1: Dev 1, Driver=xhci_hcd/2p, 480M /: Bus 02.Port 1: Dev 1, Driver=xhci_hcd/6p, 5000M |__ Port 3: Dev 2, If 0, Storage, Driver=usb-storage, 5000M /: Bus 01.Port 1: Dev 1, Driver=xhci_hcd/12p, 480M |__ Port 1: Dev 43, If 0, Driver=hub/4p, 480M |__ Port 1: Dev 46, If 0, Interface Device, Driver=usbhid, 12M |__ Port 4: Dev 45, If 0, Interface Device, Driver=usbhid, 12M |__ Port 4: Dev 45, If 1, Interface Device, Driver=usbhid, 12M |__ Port 2: Dev 44, If 3, Driver=snd-usb-audio, 12M |__ Port 2: Dev 44, If 1, Specific Class, Driver=, 12M |__ Port 2: Dev 44, If 4, Driver=snd-usb-audio, 12M |__ Port 2: Dev 44, If 2, Driver=snd-usb-audio, 12M |__ Port 2: Dev 44, If 0, Interface Device, Driver=usbhid, 12M |__ Port 4: Dev 6, If 1, Interface Device, Driver=usbhid, 12M |__ Port 4: Dev 6, If 2, Interface Device, Driver=usbhid, 12M |__ Port 4: Dev 6, If 0, Interface Device, Driver=usbhid, 12M |__ Port 7: Dev 3, If 0, Driver=btusb, 12M |__ Port 7: Dev 3, If 1, Driver=btusb, 12M |__ Port 8: Dev 4, If 1, Driver=uvcvideo, 480M |__ Port 8: Dev 4, If 0, Driver=uvcvideo, 480M |__ Port 9: Dev 5, If 0, Specific Class, Driver=, 12M |
When present, the last two parameters apply only to USB composite devices. The split parameter determines if a composite device must be forwarded as a split device or as a single composite device.
Split=1 indicates that the selected child interfaces of a composite device must be forwarded as split devices. Split=0 indicates that the composite device must not be split.
Note:
If the split parameter is omitted, Split=0 is assumed.
The intf parameter selects the specific child interfaces of the composite device to which the action must be applied. If omitted, the action applies to all interfaces of the composite device.
Consider a composite USB device (For example, the Bloomberg 4 keyboard) with six interfaces:
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
To connect the USB devices from the Devices section, do the following:
To connect the USB devices from the Preferences section, do the following:
The selected configuration is applied to the device connection.
Note:
Clear the required menu item or check boxes next to the device to disconnect a device.
Previously, you had to set DesktopApplianceMode to True in the configuration file to auto-redirect USB devices when a session starts.
With the 2402 release, you are able to manage device connection settings from a UI on the Citrix Workspace app for Linux, without having to depend on configuration files.
The following two options are added on the Devices section in the Preferences screen:
This feature is enabled by default.
To configure the composite USB redirection by using the GUI, do the following:
When one or more HDX sessions are configured for auto-redirection, the behaviors are as follows:
Previously, the composite USB device redirection was managed on the client side. There was no option to manage it on VDA.
Starting with the 2405 release, you can manage the composite USB device redirection on VDA using the DDC policies. The rules set on the VDA take preferences over the rules set on the client. Client can interpret the value set on VDA.
With this release, Citrix Workspace app for Linux supports the following policies which helps you to manage the usage of the composite USB device redirection:
Note:
To configure the preceding polices, users can refer to the documents see Client USB device redirection document.
The official version of this content is in English. Some of the Cloud Software Group documentation content is machine translated for your convenience only. Cloud Software Group has no control over machine-translated content, which may contain errors, inaccuracies or unsuitable language. No warranty of any kind, either expressed or implied, is made as to the accuracy, reliability, suitability, or correctness of any translations made from the English original into any other language, or that your Cloud Software Group product or service conforms to any machine translated content, and any warranty provided under the applicable end user license agreement or terms of service, or any other agreement with Cloud Software Group, that the product or service conforms with any documentation shall not apply to the extent that such documentation has been machine translated. Cloud Software Group will not be held responsible for any damage or issues that may arise from using machine-translated content.
DIESER DIENST KANN ÜBERSETZUNGEN ENTHALTEN, DIE VON GOOGLE BEREITGESTELLT WERDEN. GOOGLE LEHNT JEDE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG IN BEZUG AUF DIE ÜBERSETZUNGEN AB, EINSCHLIESSLICH JEGLICHER GEWÄHRLEISTUNG DER GENAUIGKEIT, ZUVERLÄSSIGKEIT UND JEGLICHER STILLSCHWEIGENDEN GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN DRITTER.
CE SERVICE PEUT CONTENIR DES TRADUCTIONS FOURNIES PAR GOOGLE. GOOGLE EXCLUT TOUTE GARANTIE RELATIVE AUX TRADUCTIONS, EXPRESSE OU IMPLICITE, Y COMPRIS TOUTE GARANTIE D'EXACTITUDE, DE FIABILITÉ ET TOUTE GARANTIE IMPLICITE DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON.
ESTE SERVICIO PUEDE CONTENER TRADUCCIONES CON TECNOLOGÍA DE GOOGLE. GOOGLE RENUNCIA A TODAS LAS GARANTÍAS RELACIONADAS CON LAS TRADUCCIONES, TANTO IMPLÍCITAS COMO EXPLÍCITAS, INCLUIDAS LAS GARANTÍAS DE EXACTITUD, FIABILIDAD Y OTRAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN EN PARTICULAR Y AUSENCIA DE INFRACCIÓN DE DERECHOS.
本服务可能包含由 Google 提供技术支持的翻译。Google 对这些翻译内容不做任何明示或暗示的保证,包括对准确性、可靠性的任何保证以及对适销性、特定用途的适用性和非侵权性的任何暗示保证。このサービスには、Google が提供する翻訳が含まれている可能性があります。Google は翻訳について、明示的か黙示的かを問わず、精度と信頼性に関するあらゆる保証、および商品性、特定目的への適合性、第三者の権利を侵害しないことに関するあらゆる黙示的保証を含め、一切保証しません。
ESTE SERVIÇO PODE CONTER TRADUÇÕES FORNECIDAS PELO GOOGLE. O GOOGLE SE EXIME DE TODAS AS GARANTIAS RELACIONADAS COM AS TRADUÇÕES, EXPRESSAS OU IMPLÍCITAS, INCLUINDO QUALQUER GARANTIA DE PRECISÃO, CONFIABILIDADE E QUALQUER GARANTIA IMPLÍCITA DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO E NÃO INFRAÇÃO.