How are printers supported on RX300 and LEAF OS devices?

How are printers supported on RX300 and LEAF OS devices?

Please refer to RX-RDP, RX420(RDP), RX300 and LEAF OS user configuration guide for additional details:  https://support.ncomputing.com/portal/kb/articles/rx300-rx-rdp-user-configuration-guide


vSpace Pro 11 LTS and vSpace Pro Enterprise Edition provide integrated Printer Management feature in vSpace Console. By default, RX300 and LEAF OS devices will be set to the 'generic redirection' of printers in the firmware for the vSpace UXP session. There are additional vSpace Pro server-side configuration needs to be made for printers to work properly in the desktop virtualization environment.  Please see below for more details.

Generic USB redirection of printers

The Generic USB redirection of Printers is possible with both protocols: UXP and RDP.



The Generic USB redirection allows redirection of multi-function (MFD, MFP, all-in-one) devices which, besides the printer, also offer a document scanner, memory card reader, and/or other functionalities.

When the generic USB redirection will be used for printers then the low-level USB communication between the virtual USB hub created on the server-side and the USB printer physically connected to the RX-series client or LEAF OS device will be redirected. The USB printer will be detected by a virtual USB host controller or hub assigned to the user’s terminal session on the server-side. The Windows USB printer driver necessary for the redirected printer must be installed on the terminal server hosting the user session.

The USB printer forwarded with generic USB redirection will appear in the Device Manager inside user’s session.



The list of Windows printer drivers installed on a Windows machine can be obtained with following command:

wmic /NameSpace:\\Root\CIMV2 path Win32_PrinterDriver GET Name

The command output will be a list of installed printer drivers with comma-separated driver properties in the form of:

Driver_name,driver_type,driver_architecture

For example:

C:\>wmic /NameSpace:\\Root\CIMV2 path Win32_PrinterDriver GET Name

Name

Microsoft XPS Document Writer v4,4,Windows x64

ZDesigner ZT230-200dpi ZPL,3,Windows x64

Microsoft Shared Fax Driver,3,Windows x64

HP Deskjet 5520 series,3,Windows x64



The list of printers created in terminal session can be obtained with following command:

wmic /NameSpace:\\Root\CIMV2 path Win32_Printer GET Caption,Comment,DriverName,PortName, PrintProcessor /value

For the USB printers forwarded with the Generic USB redirection method the PortName property will be like USB001.

For example:


C:\>wmic /NameSpace:\\Root\CIMV2 path Win32_Printer GET Caption,Comment,DriverName,PortName, PrintProcessor /value

Caption=HP Deskjet 5520 series

Comment=

DriverName=HP Deskjet 5520 series

PortName=USB001

PrintProcessor=winprint


Caption=Microsoft XPS Document Writer

Comment=

DriverName=Microsoft XPS Document Writer v4

PortName=PORTPROMPT:

PrintProcessor=winprint


Additional considerations for UXP sessions

The vSpace Pro software contains the Printer Management feature, which improves the behavior of printers forwarded with the Generic USB redirection method.

Redirected printers behavior without enabling the Printer Management

Printers physically connected to NComputing thin-clients will be redirected to vSpace Pro server, but the underlying Windows operating system will be treating them in the same way as printers directly connected to the USB ports of vSpace Pro server host machine. This standard behavior includes creating a printer object with standard name (hardcoded in printer driver) and standard user access control list (ACL). Standard ACL for printer objects includes the Allow Print permission for the Everyone user group.

The above results with following disadvantages:

·         All system users, no matter from what clients they are connected, are able to see all client printers and also print on them.

·         In environments with multiple thin-clients with locally connected printers each users is able to see dozens of printers redirected from different thin-clients.

·         In case of multiple printers of the same model the system is creating the printers with the same name and adding the Copy 1, Copy 2, … suffixes to differentiate the printers. User can potentially get a different copy of the printer assigned to his session every day.

·         Printers from disconnected or logged off NComputing thin-client sessions are still visible as offline printers.

·         Administrators and support personnel do not have any easy way to determine which printer belongs to what user or thin-client.


Redirected printers behavior with Printer Management enabled

The vSpace Pro server’s Printer Management feature allows the following:

·         Configuring the right user access control lists on the redirected NComputing thin-client printer objects to make sure that only the user running the session on the thin-client where the printer is physically connected will be able to see and use the printer. Printers connected to other users’ clients are not visible and not accessible.

·         Dynamically changing printer names to reflect the session ID, name of the logged-on user and the device name of the thin-client device. This allows the administrators and support personnel to quickly and easily identify the printers.

·         Mapping printer driver names. Users can see shorter and more friendly names for some printers.

·         Automatically removing offline printers.

·         Using configurable rules for printer renaming, removal and becoming the default one.


Printer Management settings in vSpace Console

The Printer Management settings are available in vSpace Console for each vSpace Pro server on the ‘Home > Servers > ServerName > Settings > Peripheral Devices’ page. The Printer Management functionality depends on the USB Redirection feature, so the USB Redirection must be enabled for the Printer Management features to become available:




Enabling Printer Management

Printer Management is disabled by default. With Printer Management disabled vSpace Pro handles the printers in the standard, described above. To enable Printer Management the Enable printer management check-box must be selected. Otherwise, the Printer Management settings will have no effect.




Configuring printer renaming rules

Printers handled by Printer Management will always be renamed to include the ID of the vSpace Pro session to which the printer belongs. For example, if the ID of a user session where an HP LaserJet 4M printer is connected is 5, then the new printer name will become ‘HP LaserJet 4M (session 5)’. Following settings can be configured to additionally include user and device name when renaming the printer:

Setting

Function

Include user name

The user name will be additionally included in new printer name. Printer name will become for example: ‘HP LaserJet 4M (j_smith in session 5).

Include device name

The thin-client’s device name will be additionally included in new printer name. Printer name will become for example: ‘HP LaserJet 4M (from RX300-WHS01 in session 5).

 

When both check-boxes will be selected then the user name and device name will be included in new printer name, which will be similar to: ‘HP LaserJet 4M (j_smith at RX300-WHS01 in session 5).

Configuring printer driver mappings

The original names of some printers created by Windows are long and sometimes contain redundant details. Printer driver mappings can be used to let the system use shorter or more user friendly printer names for USB printers redirected from NComputing thin-clients. To enable printer driver mapping the Map printer driver names check-box must be selected. The [ + ] and [ - ] buttons located above the mapping list allow adding and removing printer driver mappings:



When adding a printer driver mapping the original driver name list shows all printer drivers installed on the managed vSpace Server. Windows uses this name when creating a new printer. When printer driver mapping will be enabled the vSpace Server, instead of using the original name, will rename the printer using the name specified as ‘Mapped printer name’. For printer drivers not present on the list the original driver name can be specified manually.





Other printer management options

There are two other Printer Management options, which can be additionally configured:

Setting

Function

Set as default printer

With this option enabled the printer redirected from NComputing thin-client will automatically become the default printer in the user session.

Delete offline printers

Enabling this option lets system remove the printer when it will become offline. With this option enabled the printers will be automatically deleted when the NComputing thin-client user will log off or disconnect the session.

 

Printer Management example

Here is a real-life example of what Printer Management can do:

User session ID: 2
User name: demo1
Device name: L350-test
Include user name: enabled
Include device name: enabled
Printer driver name mapping: enabled
Mapping for the ‘HP Deskjet 5520 series’ printer driver: HP 5520

With all the above mentioned options set the access control list of a sample printer may become like the following:



The ‘demo1’ user logged on from the L350-test thin-client, not the Everyone group, has the Print permission on this printer. Members of the Administrators group will always see and will be able to manage all printers. The printer has been renamed to ‘HP 5520 (demo1 at L350-test in session 2)’ according to configured printer renaming rules and printer driver name mapping settings.

Additional considerations for RDP sessions

For proper operation of the USB printers forwarded to Remote Desktop Session Hosts with the Generic USB redirection method and with the RDP protocol the  SuperRDP Server Pack software must be installed on the host machine.


Native redirection of printers


Native redirection of printers is supported in RDP (RDP Client mode) connections and can be used with USB and network printers. When native redirection of printers is selected then a printing subsystem will be started inside RX300, RX-RDP or RX420(RDP) device. The role of this printing subsystem is to spool the print jobs received from remote terminal servers and to send the spooled print jobs to configured local printers. The RDP client, when making a connection to a Remote Desktop Session Host, informs the host what Windows printer driver should be used for the redirected printer. The redirection will succeed only when the necessary driver is installed on the session host. This is because the local printing subsystem running in RX-series devices have no print job formatting capabilities. It must receive a print job already formatted on the server-side by an appropriate Windows printer driver.

The list of Windows printer drivers installed on a Windows machine can be obtained with following command:

wmic /NameSpace:\\Root\CIMV2 path Win32_PrinterDriver GET Name

The command output will be a list of installed printer drivers with comma-separated driver properties in the form of:

Driver_name,driver_type,driver_architecture

For example:

C:\>wmic /NameSpace:\\Root\CIMV2 path Win32_PrinterDriver GET Name

Name

HP Color LaserJet CM1312 MFP PCL6 Class Driver,4,Windows x64

Canon Inkjet iP100 series,4,Windows x64

Microsoft XPS Document Writer v4,4,Windows x64

HP Deskjet 5520 series,3,Windows x64

Generic / Text Only,3,Windows x64

Canon D400-450 UFRII LT XPS,3,Windows x64

For native redirection of client printers the type 3 (Type 3 - User Mode) drivers for Windows x64 architecture should be selected. Type 4 drivers are known to cause issues with native redirection of client printers.

The list of printers created in terminal session can be obtained with following command:

wmic /NameSpace:\\Root\CIMV2 path Win32_Printer GET Caption,Comment,DriverName,PortName, PrintProcessor /value

For the USB printers forwarded with the Native redirection method the PortName property will be like TS001. This indicates that the printer uses a ‘terminal server’ printer port, which redirects the print jobs to a terminal server client. This is the expected behavior.

For example:

C:\>wmic /NameSpace:\\Root\CIMV2 path Win32_Printer GET Caption,Comment,DriverName,PortName, PrintProcessor /value

Caption=HP5520_network (redirected 2)

Comment=

DriverName=HP Deskjet 5520 series

PortName=TS001

PrintProcessor=winprint

 

Caption=Microsoft XPS Document Writer

Comment=

DriverName=Microsoft XPS Document Writer v4

PortName=PORTPROMPT:

PrintProcessor=winprint

 


PortName like USB001 (which is not the expected behavior when trying to use the Native redirection) will indicate that the listed printer is a printer created locally on the Remote Desktop Session Host, or a printer forwarded with the Generic USB redirection method, instead of the Native method.

Cheapest GDI printers should be avoided when planning native redirection of printers. More advanced printers understanding the PCL, PostScript, and/or some other high-level page description languages are advisable and should work.

Adding a USB printer for native redirection

Follow the below steps to add a USB printer for the native redirection:

1.       In the Peripheral device redirection settings settings group in the Peripherals section of Setup GUI, select the Custom general redirection policy radio-button.

      2.       For the Printers class select the Native (RDP only) redirection type.


 

3.       In the Printers for native redirection settings group click the [ + ] button.

4.       Specify a printer Name. The name must not exceed 127 characters, must start with a letter and can only contain letters, digits, and the underscore ( _ ) character.

5.       Select USB as printer Type.

      6.       Provide a USB printer identification string. This value will be used for matching the actual printer with printer driver when multiple USB printers will be configured for redirection. The USB printer identification string can be obtained from the connected USB printer by clicking the [Detect] button and selecting one from the list.

 


 

Clicking the [Select] button in the Detecting printer window copies the selected printer identification string into the USB printer identification and Windows printer driver name fields of the Adding Printer dialog window.

 


 

Even though the Windows printer driver name can be set automatically when detecting a printer there is no general rule saying that the Windows printer driver name is always the same as the identification string reported by the printer. In many cases, the name of the Windows printer driver to be used with the redirection printer will have to be specified manually. This driver must be installed on the terminal server and will be used for rendering the print jobs forwarded to the thin client device for local printing.



7.       Click the [Add] button.

The added printer will appear on the list and will be redirected to RDP sessions in RDP Client mode:




The Remote Desktop Session Host will create a session printer with the specified name and Windows driver:




Adding a network printer for native redirection



Network printers supporting the JetDirect protocol (also referred to as RAW or AppSocket protocols) can be used with native redirection.

Follow the below steps to add a network printer for the native redirection:

1.       In the Peripheral device redirection settings settings group in the Peripherals section of Setup GUI select the Custom general redirection policy radio-button.

      2.       For the Printers class select the Native (RDP only) redirection type.


 

3.       In the Printers for native redirection settings group click the [ + ] button.

4.       Specify a printer Name. The name must not exceed 127 characters, must start with a letter and can only contain letters, digits, and the underscore ( _ ) character.

5.       Select Network (JetDirect) as printer Type.

6.       Provide a Network printer address. This can be an IP address, hostname, or FQDN of the network printer.

      7.       Specify a Windows printer driver name. This driver must be installed on the terminal server and will be used for rendering the print jobs forwarded to thin client device for local printing.



8.       Click the [Add] button.

The added printer will appear on the list and will be redirected to RDP sessions in RDP Client mode:




The Remote Desktop Session Host will create a session printer with the specified name and Windows driver:




Removing a printer from native redirection



To remove a printer from the list of printers configured for native redirection select the printer on the list and click the [ - ] button. Click the [OK] button to confirm the removal when asked.