This page is about the printer administration tool system-config-printer, which first appeared in Fedora (as part of my work at Red Hat), and later Ubuntu and other operating systems.
The purpose of the tool is to configure a CUPS server (often the local machine) using the CUPS API. The tool is written in Python, using pygtk for the graphical parts and with some Python bindings (pycups) for the CUPS API.
It is largely the same as using the CUPS web interface for configuring printers, but has the advantage of being a native application rather than a web page. It appears in the Fedora menu under System ▸ Administration ▸ Printing.
As a result of using the CUPS API the tool is able to configure remote CUPS instances and is not limited to configuring CUPS on the local machine. The CUPS library providing the API uses HTTP and IPP to communicate with the CUPS server.
Please note that I no longer maintain system-config-printer. Please visit its new home at GitHub.
Download older tarball releases from:
You will also require pycups from:
The git repository is available at GitHub.
Language translations should be submitted through Zanata.
If you have found a bug in system-config-printer, please report it. If system-config-printer came with your operating system, report the bug to the operating system vendor:
- Packagers, or people who have installed system-config-printer from source themselves, should report the bug at GitHub. This is the “upstream” bug tracker.
- Red Hat Enterprise Linux and Fedora users should use Red Hat Bugzilla
- Ubuntu users should use launchpad
- Mandriva users should use Mandriva Bugzilla
Leave a Reply