system-config-printer

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

Download older tarball releases from:
http://cyberelk.net/tim/data/system-config-printer/

You will also require pycups from:
http://cyberelk.net/tim/software/pycups/

Source Code

The git repository is available at GitHub.

Translations

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

Comments

363 responses to “system-config-printer”

  1. Nico avatar
    Nico

    Hallo Tim,

    I’am searching for a how-to to use the your program (system-config-printer 0.7.74.4). but I find no where one. So I’m sorry to bother you with my stupid questions:
    How can I access to a network printer (hp cp1515n) that is connected to the same router like my Fedora based netbook (acer aspire one). I use the New Printer Dialog:

    1. it’s not at a Windows PC so i choose IPP
    2. I hate to choose a computer name … hmm what is meant … the only computer is my fedora netbook so i choose localhost but I’m really unsure.
    3. now i have to define printername: I fill in the name my router sees: NPI291BA6 or should i choose the IP-Adresse of my printer? btw now i press next.
    4. choose the printer out of the printer choosing list. googled that there is a printer that can be choosen with my printer model it’s the hp cp3505. Now press next.
    5. now i have to define again ?? a printer name. Prefilled is in this Field Printing_Protocol !? so I don’t change it. Description is one of the field that explains himself well enough for such noobs like me.
    6. and now there is the field location (optional): prefilled with localhost, i delete it and type in office.

    so all is done and i try to print the testpage with the testpage button. but nothing happend.

    Anybody knows what I’m doing wrong?
    thanks in advance for helping such a stupid guy like me!

    Nico

  2. Nico avatar
    Nico

    sorry i meant in point 2. I have to choose … (typos are most time most worse in meaning 😉
    Nic

  3. tim avatar

    Nico: just because it’s a network printer doesn’t necessarily mean that you should choose “IPP” as the network protocol. For HP printers I would guess HP JetDirect as the protocol.

    The hostname you need to enter is the DNS name (or IP address) for the printer, not for your computer.

  4. Nico avatar
    Nico

    Hello Tim,
    Thanks for your quick response!
    the HP JetDirect is not choosable in the New Printer Dialog.
    I have only 2 choices.
    1. Windows Printer via SAMBA
    2. Internet Printing Protocol (ipp)
    and no more, no HP JetDirect.

    Do you know how i can use this with my fedora8 based linpus Linux and the preinstalled (system-config-printer 0.7.74.4).

    maybe you have a resource in the web where i can find a system-config-printer for dummys where all the options to fill out are explained (maybe with examples for different cases) then I can try on my own without bothering you.

    Thanks in Advance
    Nico

    Best regards Nico

  5. tim avatar

    Sounds like you have a bad installation of Fedora 8. On a clean installation here I get these options:

    * Windows Printer via SAMBA
    * AppSocket/HP JetDirect
    * Internet Printing Protocol (ipp)
    * LPD/LPR Host or Printer
    * Other

    You’ll only get the SAMBA option if samba is actually installed, but the others all ship with cups.

    By the way, it’s time to upgrade anyway — Fedora 8 end-of-line is tomorrow.. 😉

  6. […] just added support to system-config-printer for displaying ink and toner levels for printers.  It’s in the 1.1.x branch and will appear […]

  7. […] part of my work for Red Hat I’ve been working on the printing configuration program, system-config-printer.  Fedora 10 came with version 1.0 of this application, which provides a notification area print […]

  8. Murali Narayanan avatar
    Murali Narayanan

    I am using System-config-printer 1.0.5 with Ubuntu 8.10 x86-64 for HP Deskjet F2200 Series printer. All the print jobs (including test page) are printing blank pages only.

  9. tim avatar

    Murali: try the troubleshooter (Help→Troubleshoot). In general, for problems with specific printers you need to report a bug to whoever your Linux distribution came from, in this case the Ubuntu people.

  10. […] latest build of OpenSolaris uses system-config-printer for configuring CUPS.  World domination is brought a step […]

  11. jl avatar
    jl

    About as useful as a hip pocket in a singlet
    If you cant tell us how to start the thing, why bother telling us anything else.
    I mean WHAT runs when you click on system administration printer ?
    This lasted just long enough to go in the never again bin for me.

  12. tim avatar

    jl: you haven’t described the problem you’re having with system-config-printer, so there is no way for me to help. When you select the “Printing” entry from the Administration menu, you should see a window containing icons showing your available printers.

  13. Sigmason avatar
    Sigmason

    Is there a way to get the “Document Print Status” windows to open from the command line?

    In Ubuntu 8.10 they eliminated gnome-cups-manager in favor of your tool. Problem is, you could open the queues automatically from the command line with gnome-cups-manager. The advantage was that if you had a print server sitting somewhere and it was rebooted you could easily script the system to reboot, log in, open the queues and put them where you wanted them with devilspie.

    Now apparently you can’t do that in Ubuntu. Is there a way to get to that functionality you have? The alternative option printop is just not as user friendly for my needs.

  14. tim avatar

    Yes, you can use

    system-config-printer-applet --no-tray-icon

    to open a job viewer window for your own jobs (on any printer).

    If you need to see jobs jobs that are not your own, or jobs on particular printers, use ‘View Print Queue’ from the main ‘system-config-printer’ application.

    However, you cannot currently move jobs between printers using the graphical tool. To script that it would be easier to use the lpmove command line tool anyway.

  15. Sigmason avatar
    Sigmason

    Thanks Tim,

    Problem is, as this is a print server function, most (if not all) of the jobs aren’t ‘mine’. That said your suggestion works as offered for jobs the printer server itself generates.

    I downloaded your packages and peeked at your source, do you mind if I mangle it a bit to get the ‘View Print Queue’ to open without the user interaction?

  16. tim avatar

    Not sure I understand the use-case yet, but of course, go ahead. Take a look at this page for information on how to create and submit patches:
    https://fedorahosted.org/system-config-printer/

  17. Sigmason avatar
    Sigmason

    Well, I use these installs as printer servers in clusters of printers. The servers are literally wired to the printers (parallel and USB) and people walk to these clustered printers to get their jobs. However, they submit these jobs from their workstations back at their desks. There’s additional reasons this is the best choice in this deployment scenario, but they are irrelevant to this discussion.

    Ideally I’d like them to be able to walk to where the printers are, see their jobs in the queues on that print server, be able to interact with the queues (delete jobs…so forth), so that they don’t have to go all the way back to their desks in case a printer jams or a job goes nuts.

    The problem is the current functionality doesn’t do that. I can only open a window that shows the jobs the print server PC itself generates locally, like you said ‘my’ jobs. Most of the jobs I want people to be able to interact with are not ‘my jobs’ they are their jobs from across the network.

    Hence the issue, thanks for the link.

    This isn’t very urgent for me, it just keeps popping up because I have several of these print clusters so far. Everything is fine as long as they don’t loose power. Once they drain their UPS the party is over and they shut down and then the only way to open the print queue’s is for the users to manually interact and it seems to be a problem for them.

    If I make the change I’ll try to offer them back out the community for review.

  18. tim avatar

    Yes, I see. You can view all jobs on all printers by selecting ‘View Print Queue’ with no printers selected (or all printers selected).

    There is no way to start that view from the command line at the moment.

  19. Sigmason avatar
    Sigmason

    2 more questions:

    Is there a way to ‘hide’ a print queue from the ‘view all queues’ option? I had to feed a raw queue from a filtered queue the other day (to keep the 2 queues from feeding the same port at the same time) and it causes a job to appear twice (once in the queue that it was sent to, and once in the queue it was printing from in an orderly manner). My need to chain the queues like this -may- be caused by an existing problem with cups, but it might be nice to hide queues from the ‘view all queues’ screen for other reasons. Perhaps there’s a character that could be put in a queue name that would indicate to not show it?

    Also, I’ve noticed that on Ubuntu 8.10, occasionally the request for printer properties for some printers does not appear. After closing the application it works correctly again. Not sure what the cause is. It seems to effect all the queues assigned to a particular printer. Yet the queues still operate. Quite odd. It doesn’t seem to favor a particular printer.

  20. tim avatar

    To view queues from a particular set of printers, select those printers and then select ‘View Print Queue’. So to exclude a particular printer, select all, deselect the one you want to exclude, then select Printer -> View Print Queue.

    As for the problem you are seeing on Ubuntu, please report that to the Ubuntu folk. Same with any distribution — unless you built and installed system-config-printer yourself from the distribution tarball, report problems to the person who did.

Leave a Reply to trusktr Cancel 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.