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. Kyle Richards avatar
    Kyle Richards

    Yea, sorry. I did have lowercase c as well. It just continues to print and print far more than 2 copies. Is there a better way to go about this to prevent it from printing so many times?

    1. Tim avatar

      If you print from the command line, using ‘lp’, do you get the same output? All pycups does is send the request to CUPS. FWIW, {‘copies’: ‘2’} works fine for me here with Fedora 21.

  2. Philip avatar

    printer deskjet HP 1560 how install.

  3. John avatar

    Hi Tim, i am surprised, this nice tool for linux printing actually works ! wohaa 🙂 Thank you.

    (Hp-deskjet_1050_j410_series.ppd, Automatically configured by hplib)

  4. Bart avatar


    We’re a happy user of the system-config-printer. We run it flawless on 300 machines in production. And it sure beats windows in the ease of use.

    We use canon inktjet printers(MG 2400 series), which aren’t support very well by the vendor. There are open source drivers available on their website, but not sure who and if they are actually maintained.

    At the moment we have no method of ‘receiving’ printer error codes/feedback.

    The question i actually have is, how are printer errors handled? For example: paper jam, low inkt error, no ink, no paper, …. We’ve been dumping usb data and can pick out the error messages quite easily. Could you please point out where in the software chain between clicking the button to print page and actual data being sent to the printer, these errors are handled?

    Ultimate we’d want some kind of gnome system message with the printer error.

    Thank you in advance!

    1. Tim avatar

      This is meant to be handled by the backend and by the various drivers. The details of getting status from the device vary between manufacturers.

      It’s easiest to talk about “no paper”, because that’s standardized for the USB Printer class. This should be handled by the CUPS usb backend, but unfortunately it isn’t right now. This feature got lost in the switch from usblp to libusb.

      For ink levels, and supplies generally, this is up to the driver. For Canon printers it’s usually Gutenprint that does the best job, but unfortunately it doesn’t report ink levels. It’s been discussed on the mailing list — more than once — but so far there has been no progress.

      It’s doable, but no-one’s done it.

      As far as GNOME reporting goes, that’s all in place and working (it works for network printers, for example). It’s just the USB and driver parts that are missing.

  5. Beth avatar

    “Rendering Complete” The message I keep getting when trying to print. What does this mean

  6. John avatar

    I have system-config-printer installed on two Linux systems. It came pre-installed on an Ubuntu system and I installed it on a Manjaro (Arch Linux variant) system. On the Ubuntu system, when I right click on a printer icon, I can select anything from the pop-up menu. On the Manjaro system, when right-clicking I can only select “View Print Queue” – everything else is grayed out.

    I can make the Manjaro version work like the Ubuntu version by using sudo system-config-printer from the command line, so it’s probably a permissions issue. I don’t see any obvious choices of groups to add myself to that I don’t already belong to. Any ideas?

    1. Magnus Johansson avatar
      Magnus Johansson

      I have the same problem with greyed-out menu items in system-config-printer 1.4.6. The button Unlock does not work.

  7. Canon Printer Tech Support avatar

    I was getting system-config-printer terminating unexpectedly when handling UTF-8 characters in certain fields. Now it has been sorted by updating system-config-printer.

  8. Chad Sheridan avatar
    Chad Sheridan

    I have an interesting question for you, where does system-config-printer store it’s URI info for the printers listed? We’ve just changed our print server to another machine and would prefer a search/replace to change the URI for our 100+ printers rather than editing them all 1 by 1.

    1. Tim avatar

      CUPS stores this information in /etc/cups/printers.conf. You could stop cupsd, edit printers.conf, then start cupsd.

      1. Chad Sheridan avatar
        Chad Sheridan

        I have done this, yet every time the admin I’m doing the contract for uses system-config-printer the utility loads the old values, and if any changes are made, overwrites the edited printer.conf

        1. Tim avatar

          system-config-printer only talks to CUPS to get the URIs for existing queues. They don’t come from anywhere else. You can talk to CUPS yourself to see what it thinks they are: lpstat -s.

  9. catherine avatar

    cannot scan off my Brother MFC-J410w now that my system is on Linux…. only print… what gives? Help!

  10. Riku avatar

    I can not find driver Canon MX 450 printer

    Would your send me link to dowload and how to install

    I using Ubuntu 10.04

    Thank you

  11. Stephan avatar

    I just installed linux mint 14. I have a xerox colour cube 8570.

    I can not use the MPT1 for my heavy papers and Ettiketts . I chose the MPT1 but it getś the paper from the main2.

    What can I do ???

    Big Thanks for a good advice.

  12. edwardf5000 avatar

    Can someone please tell me where to find driver for Canon Pixma mg7520.
    I appreciate any help.
    Sincerely, Edward.

  13. Rene avatar

    Work with linux mint 17.3. Have a canon mp 260 printer, scanner. By plugging the usb in the pc I think the driver was immediately installed. If I scan a document it seems everything works fine. The only problem is I have no idea where to find the document I just scanned.

  14. Eric avatar

    I’m trying to install a Brother MFC-440CN unto a Linux. Is it possible that the printer is outdated??

  15. Santosh Mohan avatar
    Santosh Mohan

    I am new to system-config-printer, can you let me know how to launch this application ? I am using Red Hat Linux.Thank you

  16. Varga Lászlóné avatar
    Varga Lászlóné

    HP Laserjet Proffesional P 1102 W nyomtatóval lehet e scannerni?

  17. Ralph avatar

    It is broken on my Debian 7:

    ralph@lina:~$ sudo system-config-printer
    No ID match for device socket://
    No ID match for device socket://
    [xcb] Unknown request in queue while dequeuing
    [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
    [xcb] Aborting, sorry about that.
    python: ../../src/xcb_io.c:179: dequeue_pending_request: Zusicherung »!xcb_xlib_unknown_req_in_deq« nicht erfüllt.

  18. Alice Hamel avatar

    I have a HP all in one printer it does the printing o.k. but will not scan….could you be king enough to show me how to fix that…Alice

  19. david avatar

    get error 3600 on my printer PM500

  20. james knox avatar

    how can i get epson et-2500 to print on ubuntu mate 1604

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.