From Fedora Project Wiki

(Fix HPLIP links)
(→‎CUPS: Add a bit about the scheduler and system locale)
Line 10: Line 10:


The print spooler used in Fedora is CUPS, the [http://www.cups.org/ Common Unix Printing System].  It is an implementation of IPP, the Internet Printing Protocol.
The print spooler used in Fedora is CUPS, the [http://www.cups.org/ Common Unix Printing System].  It is an implementation of IPP, the Internet Printing Protocol.
=== PPDs ===
Printer drivers come with PPD files, which are descriptions of how to run the driver and which options it has.
=== Scheduler ===
The main part of CUPS is the scheduler, '''cupsd'''.  This is a system service started at boot time.  It is responsible for responding to IPP requests such as examining printer queue attributes, printing files, or adding and deleting queues.
When a queue is added, the PPD file for the driver is copied to {{filename|/etc/cups/ppd/}} and the PageSize option is modified to be correct for the system locale (set in {{filename|/etc/sysconfig/i18n}}).  To adjust the system locale, use '''system-config-language'''.


=== Drivers/filters ===
=== Drivers/filters ===

Revision as of 18:26, 26 March 2010

Foreword

Here is some information about how printing works in Fedora, how to diagnose problems with it, and related topics.

Debugging problems

See the How to debug printing problems page for some information about how to diagnose printing problems and what information is needed when filing bug reports.

CUPS

The print spooler used in Fedora is CUPS, the Common Unix Printing System. It is an implementation of IPP, the Internet Printing Protocol.

PPDs

Printer drivers come with PPD files, which are descriptions of how to run the driver and which options it has.

Scheduler

The main part of CUPS is the scheduler, cupsd. This is a system service started at boot time. It is responsible for responding to IPP requests such as examining printer queue attributes, printing files, or adding and deleting queues.

When a queue is added, the PPD file for the driver is copied to /etc/cups/ppd/ and the PageSize option is modified to be correct for the system locale (set in /etc/sysconfig/i18n). To adjust the system locale, use system-config-language.

Drivers/filters

CUPS comes with several drivers itself, but many are provided by other packages including:

  • poppler-utils, for input filters converting PDF into PostScript format
  • ghostscript-cups, for input filters converting PostScript and PDF into CUPS raster format
  • the hpijs package (from HPLIP) provides both hpijs, the inkjet server (IJS) driver used for "Foomatic/hpijs" drivers; and hpcups, the newer-style raster driver
  • gutenprint-cups provides a raster driver
  • foomatic provides a CUPS filter for using various older-style ghostscript built-in drivers

Backends

Once the job file has been converted to the printer's native format, CUPS backends transfer the job to the printer. CUPS provides several methods for doing this, but some are provided by other packages including:

  • smb from the samba-client package
  • hp from HPLIP
  • bjnp from the cups-bjnp package

Configuration tool

Printer queues are configured using system-config-printer. This package also provides the printer status icon in the notification area, and creates queues automatically when USB printers are connected.