5.3. Configuring a Printer with YaST

5.3.1. Print Queues and Configurations

In most cases, you will want to set up more than one print queue. If you have more than one printer, you need at least one queue for each of them. The print filter can be configured differently for each print queue. By having different queues for one printer, operate it with different configurations. This is not necessary in CUPS, as the user can specify the desired settings. See Section 5.1.3. “Various Printing Systems”.

If your model is a plain black-and-white printer, such as most laser printers, it is sufficient to configure just one standard queue. For most color inkjets, on the other hand, it is useful to have at least two different configurations:

  • A standard configuration for quick and inexpensive black-and-white printouts.

  • A color configuration or queue used for color printing.

5.3.2. Printer Configuration with YaST: The Basics

Start the YaST printer configuration by selecting it from the YaST menus or by entering yast2 printer directly on a command line as root. Easily switch back and forth between CUPS and LPRng and lpdfilter using a the YaST printer configuration with Advanced. However, switching the print system does not keep an existing configuration — a CUPS configuration is not transformed into an LPRng and lpdfilter configuration and vice versa.

The YaST printer configuration module offers the following printing system selections:

CUPS as server (default in standard installations)

If a printer is connected locally, CUPS must be running in server mode. If no local queue is configured with YaST, the CUPS daemon cupsd is not started automatically. If you still want cupsd to start, the cups service must be activated (normally for the runlevels 3 and 5). See Section 5.8.2. “Quick Configuration of a Client Machine”. The following packages are installed for this print system:

  • cups-libs

  • cups-client

  • cups

  • footmatic-filters

  • cups-drivers

  • cups-drivers-stp

CUPS in Client-Only Mode

If there is a CUPS network server in the local network (see Section 5.8.1. “Terminology”) and you exclusively want to print by way of its queues, run CUPS as a client — see Section 5.8.2. “Quick Configuration of a Client Machine”. The following packages are sufficient for this mode:

  • cups-libs

  • cups-client


Select this to use the LPRng and lpdfilter print system or if the network only has an LPD server (see Section 5.8.1. “Terminology”) whose queues you want to use for printing (see Section 5.8.2. “Quick Configuration of a Client Machine”). The following packages are required for this setup:

  • lprng

  • lpdfilter

  • footmatic-filters

  • cups-drivers

cups-client and lprng should not be installed concurrently. The package cups-libs must always be installed, as several packages (such as Ghostscript, KDE, Samba, Wine, and the YaST printer configuration) need the CUPS libraries.

The printing system as a whole requires a number of additional packages, although the Default system should include them. The most important ones are:

  • ghostscript-library

  • ghostscript-fonts-std

  • ghostscript-x11

  • libgimpprint

The YaST printer configuration module displays all configurations that could be created without errors. As the configurations are not generated until the YaST printer configuration module is terminated, restart the YaST printer configuration to make sure everything is OK.

5.3.3. Automatic Configuration

Depending on how much of your hardware can be autodetected and on whether your printer model is included in the printer database, YaST either automatically configures your printer or offers a reasonable selection of settings that then need to be adjusted manually. If this is not the case, the user must enter the needed information in the dialogs. YaST can configure your printer automatically if the following conditions are fulfilled:

  • The parallel port or USB interface was set up automatically in the correct way and the printer model connected to it was autodetected.

  • Your printer's ID, as supplied to YaST during hardware autodetection, is included in the printer database. As this ID may be different from the actual model designation, you may need to select the model manually.

Each configuration should be tested with the print test function of YaST to see whether it works as expected. In many cases, configuration data not explicitly supported by the printer manufacturer must be used. For this reason, operability cannot be guaranteed for all settings. The YaST test page additionally provides important information about the respective configuration.

5.3.4. Manual Configuration

If one of the conditions for automatic configuration is not fulfilled or if you want your own customized setup, the configuration must be performed manually. The following is an overview of the options to set during manual configuration:

Hardware Port (Interface)

If YaST was able to autodetect the printer model, safely assume that the printer connection works as far as the hardware is concerned. You may then leave this part untouched.

If YaST has not autodetected the printer model, there may have been some problem on the hardware level. Some manual intervention is needed to configure the physical connection. Manual configuration requires specification of the port to which the printer is connected. /dev/lp0 is the first parallel port. /dev/usb/lp0 is the port for a USB printer. Always test this setting from within YaST to see whether the printer is actually responding at the selected interface. It is safest to connect a printer to the first parallel port. In this case, the BIOS settings for this port should look like this:

  • I/O address: 378 (hexadecimal)

  • Interrupt: (not relevant)

  • Mode: Normal, SPP, or Output-Only.

  • DMA: Disabled

If the printer does not respond at the first parallel port with these settings, you may need to change the I/O address to have the explicit form of 0x378 under the BIOS menu item that lets you configure the advanced settings for parallel ports. If your machine has two parallel ports with I/O addresses 378 and 278 (hexadecimal), change them to read 0x378 and 0x278, respectively.

Queue Name

The name of the queue is used frequently when issuing print commands. The name should be rather short and consist of lowercase letters (and maybe numbers) only.

Ghostscript Driver and Printer Language (Printer Model)

The Ghostscript driver and the printer language depend on the printer model and are determined by selecting a predefined configuration suitable for the printer model. It can be customized in a separate dialog, if necessary. In other words, the selection of the manufacturer and the model actually represents the selection of a printer language and a Ghostscript driver with suitable driver settings for your printer.

For non-PostScript models, all printer-specific data is produced by the Ghostscript driver. Therefore, the driver configuration (both choosing the right driver and the correct options for it) is the single most important factor determining the output quality. Your settings affect the printer output on a queue-by-queue basis.

If your printer was autodetected, which means the model is included in the printer database, you will be presented with a choice of possible Ghostscript drivers and with several output options such as:

  • black-and-white printing

  • color printing at 300 dpi

  • color printing at 600 dpi

Each default configuration includes a suitable Ghostscript driver and, if available, a number of driver-specific settings related to the output quality. Any driver-specific settings can be customized in a separate dialog. Click the respective values to view and access any indented submenu entries.

Not all combinations of driver options work with every printer model. This is especially true for higher resolutions. Always check whether your settings work as expected by printing the YaST test page. If the output is garbled (for example, with several pages almost empty), you should be able to stop the printer by first removing all sheets then stopping the test print from within YaST. However, in some cases the printer will refuse to resume work if you do so. It may be better to stop the test print first and wait for the printer to eject all pages itself.

If your model was not found in the printer database, you can select one of the generic Ghostscript drivers for the standard printing languages. These are listed under a generic manufacturer.

Other Special Settings

Unless you are sure about what these options mean, do not change the default settings. For the CUPS printing system, the following special settings are available:

  • Restricting printer use for certain users.

  • Queue status: whether the queue is started or stopped and whether it is ready to accept new print jobs.

  • Banner page: whether to print out a banner (cover) page at the beginning of each print job and which one. Similarly, whether to add a banner page at the end of each print job and which one.

For the LPRng and lpdfilter printing system, change the following hardware-independent settings:

  • The page layout can be changed for ASCII text printouts (but not for graphics or documents created with special application programs).

  • You can define an ascii print queue for special cases. The ascii queue forces the print filter to produce ASCII text output, which may be necessary for some text files that the print filter does not automatically recognize as such, for example, PostScript source code.

  • Country-specific settings can be changed to ensure the correct character encoding when sending ASCII text to the printer and when printing plain text in HTML pages from Netscape.