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:

Source Code

The git repository is available at GitHub.


Language translations should be submitted through Zanata.

Reporting bugs

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 GitHubThis 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


363 responses to “system-config-printer”

  1. Mike avatar

    Hi, thanks for your tool. It make printer configuration for linux noobs much easier 😉 I use it under OpenSuse and KDE, because KDE still miss a printer configuration tool within KDE4. (Beside OpenSuse has within yast a printer configuration, but your tool is much snappier 😉 )
    Anyway, is it possible to open with a double click on the printer icon the print queue and not the printer configuration (or make it configurable) or/and to add a quick icon in the menu bar for the printer queue?

    Thanks in advance.


  2. tim avatar

    Simon: not quite sure what you’re asking as your question is so brief. I think you want to set up a CUPS “class”, and share that.

  3. tim avatar

    Mike: You can press Ctrl-F to see the print queue for the selected printer(s) when using system-config-printer.

    As for a quick icon for the print queue — you should already see one when you have jobs queued.

    One idea thrown around a while ago was to have a pane in the main view that showed the print queue for the selected printer(s). Would that be useful?

  4. Mike avatar

    Hi Tim,

    I know, I can press Ctrl-F, but in my opinion this is to complicated for my mother 😉

    And yes, a pane in the main view with the print jobs for the selected or all printers would be very helpful. It’s even better than the double click. Would be fine if you could implement it.



  5. […] For those unfamiliar with printing, this sounds easy enough. To make the user interface as easy to use as that takes more work than you would think at first glance. It’s the direction I’ve been moving towards in system-config-printer. […]

  6. […] I had a problem with hp-setup in Fedora, so I installed and used system-config-printer, wich worked. If it's not in your repositories, go to […]

  7. LUCIANO avatar

    hi, i need help about scanner, i don’t sepeak english, in spanish please!

  8. Trini avatar

    Hi i’m Trini.

    I have got a shop , and I need help with the print tickets!!

    My cofing-printesr systEm, is recognized by the TPV (it’s a computer) , but I can’t print the ticket so I don’t know that do.

    A lot of thanks

  9. […] errors (!) that do slip through in my case cause a shameful waste of paper. Installing the CUPS system-config-printer 1.2.5 (it's in the repos) will allow Printer related settings, such as Media Size, Print quality, Media […]

  10. Deepti avatar


    Is it possible to get the make and model of a NETWORK printer connected to my Linux machine, using the IP address of the printer as input?

    I need this info to decide on which PPD to use.



  11. tim avatar

    Deepti: system-config-printer goes to some lengths to do just that. For mDNS printers, there is meant to be usb_MFG and usb_MDL keys for this purpose but these are often missing. For SNMP-aware printers there is a standard OID you can query (although some printers use their own non-standard OIDs for this). For Windows print shares, I honestly don’t know how to do that but wish I did.

  12. Deepti avatar

    Thanks Tim, for a very quick reply 🙂

  13. Deepti avatar

    Hi Tim,

    So, just to reiterate, does that mean, there is no standard way of retrieving the model name of ALL TYPES of printers (i mean printers supporting different protocols)?


  14. tim avatar

    On the contrary, there are plenty of standard ways. 😉

    This is one of the things that the IPP Everywhere project wants to address.

  15. Deepti avatar

    Hi Tim,

    Thanks again for the reply.
    I took a look at the seems like the use of OID (SNMP) is the only way to get info about the model of a printer.
    I wonder how to get it working, for printers that do NOT support SNMP..
    Please let me know if you have any ideas..



  16. tim avatar

    As I mentioned above, mDNS offers a way to do this.

  17. Some1 avatar


    its nice to call for HELP in the application and have a wizard. But I need just to read the help, so I can learn somethings and check out some doubts I have. It seems to be impossible now. Please add a HELP item on HELP menu, that can be read independently of anything. The wizard demands some steps I can’t do.

    (I would submit this as a bug, but I need to register first, it would take me too long)


  18. Gottfried avatar

    I wonder if it is possible to configure printers independently for different users on the same PC. E.g. my wife prefers sigle-sided printouts as a default whereas I’d like to have the default on 2-sided printing. Currently changing the settings by means of system-config-printer for one user causes the same change for that printer on every other user account.

    Thanks for your help, best regards


  19. tim avatar

    Ideally that would be done with “instances” but the GTK+ print dialog never grew any support for them.

    The way you can do it is to have two otherwise-identical queues, and each have a different (user-) default printer. The CUPS backends for the queues will then have to sort out job serialization among themselves. This works fine for all the backends I know of.

  20. mazza avatar

    hi tim, i wonder if you could help me here i recently bought this netbook from a friend witch runs on ubuntu linux i’m very interested in purchasing a printer but not sure what to buy, can you kindly recommend any printers out ther’e that meet my needs please, thank you very much.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.