From Fedora Project Wiki

Revision as of 07:10, 17 June 2009 by Mrniranjan (talk | contribs)


This wiki contains information related to the Cups and System-config-printing provided with Fedora.


The version of cups provided with Fedora is cups-1.4 and following are the features in general, Though there are about number of changes
Below document provides most used , and most noticeable changes


  • The web-interface has been given a new look , using php-cgi and not php.
  • The new interface provides more improvements to add and modify printer configuration
  • The Administration page provides more advanced operations like share, unshare, provides list of backends to choose from

IPP Support

  • CUPS now conforms to the draft IPP/2.0 and IPP/2.1 specifications
  • CUPS supports the operation of downloading of files from print job using the "CUPS-Get-Document Operation"
  • The scheduler and backend discovery interface support a device-location attribute where we can specify the location of the printer
  • Support of hold jobs and releasing of jobs on hold


  • CUPS now uses "Bonjour (DNS-SD)" providing mDNS(multicast DNS) which supports Bonjour-based printer discovery


  • Better Access control by providing support for adding multiple addresses in Allow and Deny lines, and now returns HTTP 403 (forbidden)

for user who authenticates successfully , but doesn't have access to perform the operation

  • Scheduler now supports an AccessLogLevel directive to control what is logged in the access_log file. There are 3 levels
   config; Log when printers and classes are added, deleted, or modified and when configuration files are accessed or updated.
   actions; Log when print jobs are submitted, held, released, modified, or canceled, and any of the conditions for config.
   all; Log all requests.
   The default access log level is actions.
  • the default LogLevel is now "warn" instead of "info"
  • the scheduler now supports a DefaultPaperSize directive to override the default paper size defined by the locale or libpaper configuration
  • Scheduler now supports ErrorPolicy that can be defined in printers.conf, and now supports retry-current-job policy, that retries the current job immediately
  • the scheduler now sets more PAM attributes to better support third-party authentication schemes.
  • scheduler now coalesces configuration and state file changes to reduce the amount of disk activity and caches printer attributes to further reduce startup time.
  • scheduler now starts the notifier for RSS subscriptions after creation so the feed is available immediately.

Printer Drivers

  • USB printer support; the usb backend now uses libusb when available to allow it to better work with third-party scanning and printing solutions.
  • the cupsPJLDisplay PPD attribute controls the PJL commands used to display the current user and job on the printer.
  • new generic PostScript and PCL drivers provide improved support for laser printers, the CUPS DDK drivers offer support for many HP DesignJet printers

and new label drivers offer support for Seiko and Tharo label printers.

  • A new CUPS command file filter for PostScript printers provides auto-configuration, self-test page, and status and supply level reporting functions.
  • The CUPS DDK is now a standard part of CUPS.


  • the standard image filters now support image files larger than 2GB.
  • the bundled banner ("job-sheets") pages are now generated using a new banner filter provides easier customization and better support for UTF-8 text.
  • the pdftops filter has been replaced with a wrapper program that runs the Xpdf, poppler, or Ghostscript PDF to PostScript utilities.


In this release, system-config-printer uses PolicyKit to control access to restricted CUPS functionality. The following functions are controlled via PolicyKit policies currently:

  • add/remove/edit local printers
  • add/remove/edit remote printers
  • add/remove/edit classes
  • enable/disable printer
  • set printer as default printer
  • get/set server settings
  • restart/cancel/edit a job owned by another user
  • restart/cancel/edit a job