English German

Configuration of CUPS Printing on IGEL OS

CUPS printing app enables local and network printing on IGEL OS devices. You can map local printers into supported remote sessions and configure USB, parallel, serial, TCP, IPP, and SMB printers, use custom PostScript Printer Description (PPD) files, and make locally connected printers available as LPD or TCP/IP print servers.

The following article describes settings for configuring printers on IGEL OS devices using CUPS printing app.

For information on how a user can connect printers to an IGEL OS endpoint via the printer tray app, see Tray Applications in IGEL OS 12.

This article is based on CUPS printing app version 1.3.1 BUILD 1.0.


Requirements

Dependencies

When CUPS printing app is installed, the following app is installed automatically:

  • avahi-daemon and libnss-mdns for modern network discovery app. This app contains the avahi-daemon and the libnss-mdns package that are required for network printer discovery.

If you need to disable automatic printer discovery...

If required, you can deactivate Enable the Avahi daemon under Apps > Avahi Daemon.

image-20261103-181535.png


How to Add and Configure a Printer

  1. In the IGEL UMS, create a profile configuring the app. For details on profile creation, see How to Create and Assign Profiles in the IGEL UMS Web App.


  2. In the Profile Configurator, go to Apps > CUPS Printing > Printer and click +.
    If you want to edit an existing printer, select it and click  image-20261026-114139.png .


    How to add a CUPS printer on IGEL OS


Settings made under Apps > CUPS Printing > Printer apply to local printing (e.g. PDF, Chromium etc.) and to mapping a local printer into a remote session.


  1. Edit the settings described below according to your needs.

    image-20261028-063525.png


It is recommended to print a local test page before mapping the printer into a remote session.


  1. Save the profile and assign it to the required devices.

Printer name

The name by which this printer will be referred to. The name of each printer must be unique. Maximum length: 127 characters. The printer's name must start with a letter. Allowed characters: letters, digits, underscores, hyphens; blank spaces are not allowed.


Is default

  • This printer is the default printer for all local applications. Depending on the VDI type and its server settings, the printer can be also the default printer in the remote session (e.g. RDP).

Note the following:

  • Only one default printer can be set, i.e. setting a printer to default means that other existing printers lose this property.

  • For USB or USB class printers, Is default setting can be overridden by Dynamic default for printers using USB or USB class port configured under Apps > CUPS Printing > CUPS Printing Global.

  • If there is a default printer set by the administrator, the user cannot set another printer as default via the printer tray app. See Tray Applications in IGEL OS 12.


Printer port

Interface type for locally connected printers or the network protocol for network printers. Depending on the selected Printer port type, different parameters have to be configured, see the table below. 

Printer Port Type

Description and Settings to Be Configured

USB printer

Connects directly to a printer through USB.

Configurable Parameters

USB device

Selects the USB printer that the CUPS printer definition uses. IGEL OS identifies USB printers by their registration order.

Possible values:

  • 1st USB printer (Default): The first USB printer registered on the endpoint will be used.

  • 2nd USB printer: The second USB printer registered on the endpoint will be used.

If multiple USB printers are used at the same time, it is not recommended to use "2nd USB printer"/ "1st USB printer" (Printer port="USB printer") since the numbering depends on the timing the printer is registered on the endpoint and can be different on the next reboot. Instead, it is advisable to use the following method:

USB Class Printer

The printer is assigned by matching patterns. This method is recommended if the endpoint device is to be configured completely with the UMS, preferably with a profile. 

  1. Open the relevant printer under Apps > CUPS Printing > Printer.

  2. Set Printer port to "USB class printer" and edit the printer settings appropriately.

  3. Optional: Set the printer as the default printer by enabling Is Default. 

USB class printer

Assigns a USB-connected printer by using pattern rules. Use this option when CUPS printing must be configured completely via UMS profiles. 

Configurable Parameters

If you use a lot of different printer models attached via USB, you can assign printer models to CUPS printers without specifying dependencies to a specific USB port. Instead, the USB printer is assigned by matching patterns specified under Manufacturer pattern and Product pattern with the specific model name. A single printer definition can thus work for a class of different USB printer models.

Pattern matching mode

Specifies the type of the search pattern.

  • Pattern (Default): Standard wildcards are used for pattern matching, e.g. "*", "?". The matching is case sensitive. For detailed information on wildcards, see man7.org and tldp.org.

  • Pattern, case insensitive: Standard wildcards are used for pattern matching, e.g. "*", "?". The matching is case insensitive.

  • Regular expression: Regular expressions are used for pattern matching. For detailed information on regular expressions, see man7.org and tldp.org.

Manufacturer pattern

Pattern matching the manufacturer name of the printer. If the pattern is empty, it is ignored.


Product pattern

Pattern matching the product name of the printer. If the pattern is empty, it is ignored.

Manufacturer and product names can be found in the System Information tool under Devices > USB Devices. For more information, see System Information.

image2020-7-29_16-41-54.png


Examples:

Matching all printers whose product name contains "LaserJet":
Pattern matching mode: pattern
Product pattern: *LaserJet*

Matching all printers whose product name contains "LaserJet":
Pattern matching mode: regular expression
Product pattern: LaserJet

Matching all printers whose product name contains "LaserJet" or "DeskJet":
Pattern matching mode: pattern
Product pattern: +(*LaserJet*|*DeskJet*)

Matching all printers whose product name contains "LaserJet" or "DeskJet":
Pattern matching mode: regular expression
Product pattern: LaserJet|DeskJet

LPD network printer

Sends print jobs to a network queue using the Line Printer Daemon (LPD) protocol. LPD is a legacy printing protocol that typically uses TCP port 515.

Configurable Parameters

LPD print server

Host name or IP address of the remote LPD printer


LPD queue name

Name of the LPD printer queue


It is also necessary to configure the printer on the server side.

TCP network printer

Sends print data directly to a printer through a Transmission Control Protocol (TCP) connection.

Configurable Parameters

TCP print server

Host name or IP address of the remote TCP/JetDirect/Socket printer


TCP port

TCP port number. (Default: 9100)

IPP network printer

Sends print jobs using the Internet Printing Protocol (IPP). IPP also supports printer status information and commonly uses port 631.

Configurable Parameters

IPP URI

URI of the IPP print server. Example: ipp://myprinter.example.com/printers/printer1

SMB network printer

Connects to a printer shared by a Windows-compatible print server using the Server Message Block (SMB) protocol.

Configurable Parameters

It is also necessary to configure the printer on the server side.

Ensure that the printer is shared on the Windows server and that the selected account has permission to print.


SMB server

IP address, NetBIOS host name, or DNS host name of the print server. The printer sharing must be configured on that server.


SMB printer

Share name of the printer as it is configured on the Windows server


SMB port

SMB port number. (Default: 0, which stands for standard ports 139 and 445)


Use Kerberos authentication

If Kerberos authentication should be used, configure the NetBIOS or DNS host name of the print server under SMB server. IP address cannot be used in this case.

  • Kerberos credentials are not used for authentication. (Default)


Use passthrough authentication


If you do not want to use Kerberos or passthrough authentication, you can configure authentication with explicit credentials using the below settings. IGEL OS device does not need to be joined to an AD domain, in this case.

SMB user name

User name used for authentication


SMB password

Password used for authentication


SMB domain or workgroup

Workgroup or domain name

Parallel

Connects to a printer through a physical parallel port, also known as an LPT port.

Configurable Parameters

Parallel device

Selects the parallel port to which the printer is connected.

Possible values:

  • LPT1 (Default): The first parallel port will be used.

  • LPT2: The second parallel port will be used.

Serial

Connects to a printer through a physical serial port, also known as a COM port.

Configurable Parameters

Serial device

Selects the serial interface to which the printer is connected.

Possible values:

  • COM1 (Default): The first physical serial port is used.

  • COM2: The second physical serial port is used.

  • USB COM1: The first USB-to-serial interface is used.

  • USB COM2: The second USB-to-serial interface is used.


Baud rate

Specifies the data transmission rate for communication with the printer. (Default: 9600)


Character size

Specifies the number of data bits in each transmitted character. (Default: 8)


Parity

Specifies the parity check method used to detect transmission errors.

Possible values:

  • None (Default): Parity check is disabled.

  • Even

  • Odd


Flow control

Specifies how the endpoint and printer regulate the transmission of data.

  • None (Default): Flow control is disabled.

  • XON/XOFF: Software flow control is used.

  • RTS/CTS: Hardware flow control through the Request to Send and Clear to Send signals is used.

  • DTR/DSR: Hardware flow control through the Data Terminal Ready and Data Set Ready signals is used.


Manufacturer

List of possible printer manufacturers. When you select a manufacturer here, the relevant selection of models will be provided under Model.


Model

List of possible models 


Use Custom PPD instead of predefined printer models

Use this setting if you cannot find the required printer models under Manufacturer / Model.

  • You can define a custom .ppd file under Custom PPD. Manufacturer and Model parameters will be hidden.
  • Custom PPD parameter is not available. Define printer models under Manufacturer / Model. (Default)

Note that a custom PPD describes printer capabilities and output options; it does not install a complete printer driver package, i.e. custom CUPS driver. Driver packages that require executable binaries cannot be run.

Using custom PPD instead of predefined printer models in IGEL OS


Custom PPD

Enter here the absolute path to a .ppd file. You can obtain a valid PPD from the manufacturer.
The custom PPD file must first be copied to the IGEL OS device into the directory /services/cups_printing/ppd. For how to transfer files to devices, see Upload and Assign Files in the IGEL UMS Web App.
Alternatively, you can specify here a CUPS driver URI like listed by the command lpinfo -m.

After applying the new settings, restart the endpoint device or the CUPS service and print a test page to confirm that the printer remains configured.

Note: If the file is missing or invalid, CUPS will continue to run, but the printer cannot be registered correctly.



Default paper size

Set the printer-specific paper size that you would like to use as a default.
Possible values:

  • Letter

  • Legal

  • Executive

  • A5

  • A4

  • A3

  • Global setting: The setting configured under Apps > CUPS Printing > CUPS Printing Global > Default paper size is used. (Default)


Share printer

  •  You can access the printer via the network if you have enabled the print server under CUPS Printing > CUPS Printing Global > Network or host for sharing local printers. If you enable this setting, the printer becomes available as a network IPP printer.
    If you want the printer to be available as a network LPD printer, further configuration is required, see How to Configure an IGEL OS Endpoint as an LPD Print Server .
  • Other endpoints cannot access this printer. (Default)


Use printer in Citrix sessions

  • The printer is available in Citrix sessions. (Default)

Install the HP Color LaserJet 2800 Series PS driver on the server side to redirect the local printer to Citrix sessions, see Citrix Workspace App for Mac and Linux fail to Redirect Local printer to Citrix Sessions.


Driver to use in the Citrix session

Windows driver name for autocreated printer. Specify only if the Universal Print Driver (UPD) should not be used.

The name must not contain “;” or “:”.

Note that special characters, spaces, and case-sensitive characters are relevant when specifying a driver name. Ensure the exact spelling, otherwise the printer will not show up in the session.

The driver specified here must be installed on the Citrix VDA.


General Information on Configuring CUPS Printers in Citrix Sessions

Citrix can map a client-side printer to the session-side printer in two ways, using either:

  • Citrix Universal Printing Driver (UPD)

  • model-specific Windows driver

UPD is used when:

  • A model-specific Windows driver name is not configured in the printer properties in the Profile Configurator / IGEL Setup.

  • A model-specific Windows driver is configured, but is not installed on the Windows session host.

  • Model-specific mapping is prohibited by the server-side Citrix policies.

When UPD is used, it renders the print job into one of the generic formats (PDF, PS, etc.) and relays it to the Citrix client. Which specific format is used is determined by Citrix Universal driver preference policy. Citrix client then receives the rendered PDF/PS/etc. print job and re-sends it to the local printer queue. The local printer queue is expected to translate the job to the protocol and format understood by the physical printer. Therefore, if UPD should be used, the printer should be configured so that it can print documents from IGEL OS device directly. This can be a model-specific setup (e.g. Manufacturer=“HP” and Model= “LaserJet 9040 MFP”) or a generic IPP Everywhere setup (i.e. Manufacturer=“Generic” and Model=“IPP Everywhere” / “IPP Everywhere Printer”).


Model-specific redirection is used when all three conditions are met:

  • Citrix server-side policies allow model-specific printing.

  • In the Profile Configurator / IGEL Setup, the printer is configured with a Windows driver name for the Citrix session.

  • The Windows driver is installed on Citrix session host.

When model-specific Windows driver is used, the job is rendered into a printer-specific format on the Windows side. The Citrix client relays the job to the CUPS printer as raw data, regardless of what Manufacturer / Model is configured for the printer in the Profile Configurator / IGEL Setup.


Use printer in RDP-based sessions

  • The printer is available in RDP-based sessions, e.g. IGEL for Windows or IGEL Remote Desktop apps. (Default)

Depending on the app, the setting CUPS printer redirection must also be activated under

  • IGEL for Windows > IGEL for Windows Sessions > [session name] > Printing

  • RDP > RDP Sessions > [session name] > Printing

 

Driver to use in the RDP-based sessions

The name of the printer driver that is used on the remote Windows machine. Specify only if the Universal Print Driver (UPD) should not be used.

The name must not contain “;” or “:”.

Note that special characters, spaces, and case-sensitive characters are relevant when specifying a driver name. Ensure the exact spelling, otherwise the printer will not show up in the session.

The driver specified here must be installed on the RDP session host.


Configuring Global Printer Settings

The settings defined here are valid for all printers if not specified otherwise.

  1. In the Profile Configurator, go to Apps > CUPS Printing > CUPS Printing Global.

    CUPS Printing Global Settings on IGEL OS


  2. Edit the settings according to your needs. The parameters are described below.

Default paper size

Set the printer-specific paper size that you would like to use as a default.

Possible values:

  • Autodetect (Default)

  • Letter

  • Legal

  • Executive

  • A5

  • A4

  • A3

Network or host for sharing local printers

Access to the printer is possible from this network or host.

Possible values:

  • None (Default): Access to the printer via the network is disabled.

  • Local network: Allows printing on the local device from the local network.

  • Global: Allows printing on the local device from the global network.

  • [Custom value]: You can delete a selected value and specify a custom value in the form 192.0.2.* or 192.0.2.0/24 or *.domain.com or 192.0.2.1 or host.domain.com.


CUPS web interface (needs a root password to be set)

  •  If you have set a root password under Security > Password > Administrator, you can enable the CUPS Web Interface on port 631. You can access it via the browser at http://localhost:631/
  • The CUPS Web Interface is disabled. (Default)


Dynamic default for printers using USB or USB class port

If your users frequently change their workplace, e.g. in a mobile workplace scenario, they might often face the problem that the local printer is not the one that is set as the default printer and, as a result, this local printer may not be automatically used for printing in the remote session.

To save your users from dealing with default printer selection, you can configure IGEL OS to automatically set the currently connected printer as the default printer. This feature works with USB printers and USB class printers.

  • The currently connected USB printer or USB class printer will be automatically set as the default printer (no matter if any of the printers under CUPS Printing > Printer has already been selected manually as the default printer via Is Default). If several printers are connected at the same time, the last printer you plugged in will be automatically set as the default printer.
  • The dynamic selection of the default printer is disabled. (Default)

  

Limitations

The method of the dynamic selection of the default printer is feasible if only one printer is connected at a time.

Note: The default printer selection may change on a reboot of the endpoint device. This means: If two or more printers are connected to the endpoint device at the same time, the printer that was dynamically selected as the default printer before the reboot will NOT necessarily remain the default printer after the reboot.

Best practice recommendation for the case when multiple USB printers is to use Printer port = “USB class printer”. Details can be found here.