gnome-cups-utils needs a replacement because it lacks features, and being unmaintained upstream places all the bugfixing burden on Ubuntu. While Printerdrake is a proposed alternative, there is another option: the new system-config-tools & co which are shipped in Fedora since FC6 released in late 2006.


system-config-tools has the following advantages over gnome-cups-utils

  • actively developed upstream, the RedHat maintainer is helpful and responsive to bugs reported in Launchpad

  • fresh codebase (started in 2006) made specifically for CUPS >= 1.2

  • written in Python and PyGTK

other advantages

  • packaged, in main and used as default for Xubuntu since 6.10

Use Cases

See all of what is there applies.

  • Manage paper type, where one type of paper is selected, but the printer does not have that kind of paper available allow a "force type or tell the user they have an error. For instance if the document specifies that the page is "letter" but the printer only has "A4" the user should be told that the paper type needs to be selected. (Perhaps there are sensible defaults such as moving "letter" pages to A4 with suitable page breaks.)
  • If a print job fails for any reason the printer should be reset after a specified time. Example, George sends a page to the printer and for some reason that print job does not take place. George is left with more work to print later. However the job in lpq stays at a "size" in the queue, and more jobs queue up behind it. Now Jane and Joe want to print also and their work ends up in the same queue. So if the size of a queued job does not change for 10 minutes, perhaps a software reset of the printer and deletion of the one job or all jobs in it queue is a "rational" decision and could be a policy. At this time the standard laser jets from HP have such resets for an hour, this is of use in the above business case as the printer becomes functional again as soon as possible.
  • When managing a group of printers to have a function that allows "replication of configuration" to be passed from one printer to another.
  • Individual users could be handed "additional" ACL style access to local printers. This would mean that some person who is in the locality of a printer could be handed "restart" rights on specific printers local to them, but not the full printer tree.
  • Printer jobs could be captured as spool files and archived from there.


Ubuntu and Xubuntu


Theses tools are

  • system-config-printer a printer setup GTK+2.0 GUI
  • hal-cups-utils a tool to automatically create LP queues for newly detected (on USB) printers
  • a systray applet written in Python, that supersedes eggcups.


Add them to ubuntu-desktop and see how it works.

Many of the missing features that the Printerdrake spec covers as 'would be nice to have' are easier to add here, since it's a fresh codebase and it's python.

Outstanding Issues

Some of the features printerdrake has may not be available in the Fedora tools, but the two covered by additional specs are.

When a new printer is detected hal-cups-utils adds a new queue. TODO for printers with no PPD. Upstream plans to work on a find PPD GUI once FC7 is out and the next devcycle begins.

in the settings dialog each printer can be shared independent of the others via IPP (not Samba though)

BoF agenda and discussion


SystemConfigPrinter (last edited 2008-08-06 16:32:52 by localhost)