One Year Later - CUPS Admin Still Lacking?
DopeyDad asks: "OK, it was close to a year ago (Eric's site says July 2004, but I'd swear the original rant came earlier last year) that Eric Raymond's tirade on the unfriendly status of configuring the CUPS printing system on Linux was published. Well, I've been struggling with setting up a new laptop and getting it to talk to my print server, using Fedora Core 3, and nothing seems to have changed -- the admin items for adding a printer are exactly as Eric described them back then -- unclear, confusing, and no where near as friendly as their Win* equivalents. Definitely not something I'd expect my Aunt Ethel to be able to figure out. What's going on here? Granted, FC3 is ready to be replaced, but I don't see any CUPS updates for it. Is work being done with CUPS to address Eric's original complaints, or has this issue fallen off the radar?" For those who are still frustrated with the CUPS GUI, how would you improve it?
By using Mac OS X's interface to CUPS.
:P
Or Mandriva as it's called now. Their printer admin GUI is peaches. :-) Maybe since it's GPL'd the CUPS team can just grab it from the latest cooker?
/* oops I accidentally made a comment, sorry */
The article that is referenced is here:r or.html
http://www.catb.org/~esr/writings/cups-hor
forgoet the CUPS application tools, user http://localhost:631. The www interface at least works all the time.
Windows seems to have no problems with detecting a printer... I feel like there has to be a documented call/answer that would make the model/revision known to Windows. Could CUPS be altered to do the same thing in its installer? Could it have an online driver repository for the printer?
;)
Makes me wish I had time to actually work on these things, even if I find out that this can't be done.
If I remember correctly, the problem ESR was having was with the RedHat GUI. The only "CUPS GUI" is really the web interface on port 631. Every other "real" GUI is made by some other vendor/project e.g RedHat, KDE, Gnome, etc... (OpenOffice?). I have my own complaints about the CUPS web interface, but they're nothing major. I've always just tweaked the cupsd.conf file and added the printer (s)in the web interface. No major biggy there. This all just a storm in a teacup.
It's still a great big steaming pile. I never thought it would happen, but from time-to-time I catch myself saying; "Maybe I should go back to lpd" <shudder>
One more rant, whoever it was that was unimaginative enough to come up with the foomatic name should be flogged.
It has little to do with CUPS itself. It is rather Fedora's system-config-printer-gui fault. Go check out other distributions - namely SuSE or Mandriva (former Mandrake) - each of them handles this by their own tool - YaST (SuSE) and Mandriva Control Center... Go, see how it looks and think again not to generalize stupid stuff like:
Fedora's printer config dialog sucks -> Linux printing status: unfriendly.
"OK, it was close to a year ago... that Eric Raymond's tirade on the unfriendly status of configuring the CUPS printing system on Linux was published.... and nothing seems to have changed -- the admin items for adding a printer are exactly as Eric described them back then -- unclear, confusing, and no where near as friendly as their Win* equivalents."
Well, so much for ESR tirades motivating the development of user-friendly software. Anyone else have any ideas?
Beauty is in the eye of the beerholder.
what bugs me is I configure cups, try to print out of an app which has its own printer settings (like Moz or Acrobat), then everything gets filtered through kprint, at least on my system. So if something doesn't work, where's the problem? Also, if I use the cups admin, it breaks the fedora system config utility's settings, and vice versa. Fate and Linux are playing tricks on me!
If thou see a fair woman pay court to her, for thus thou wilt obtain love
Open source programmers work on what is sexy. CUPS isn't sexy. You want someone to do that kind of work, you have to pay them, which is why oos will never have the same polish as commercial OSs (polish doesn't mean themes and icons guys).
Works like a charm in FC4 Test 2. I just plugged in a hp deskjet 3845, pressed print, and it worked. (not to mention Win* needs the HP print system programs to run this)
"For those who are still frustrated with the CUPS GUI, how would you improve it?"
Close our eyes, and pretend the problem doesn't exist.
You're a FreeBSD developer, aren't you?
Moderator hint: a comment is neither "Flamebait" nor "Troll" if it is true.
The built-in admin web-interface to set up cups is really just there so that an admin with no desktop can configure their print server.
If you are an end-user, it is implied that you should be using desktop tools to accomplish this.
Both Gnome and KDE offer very nifty printer configuration apps that will take care of setting up CUPS for you. Gnome uses gnome-cups-manager (run that from your terminal or create a launcher), while KDE uses kprinter (you can also run it from the terminal and create a shortcut).
It is also worth mentioning that when you hit print on Mozilla Firefox, you can hit "Properties" for the printer in the print dialog and change the "Print Command" line to KPrinter to let it handle the printing in a much less convoluted way.
Using the FC3 printer configuration tool, I checked the "share this printer" box. It asked me to give the printer a name, which I did.
I went downstairs to my GF's Powerbook running OSX 10.3.x and told it that I would like to add a network printer. It found the printer that I had created. I clicked "print a test page" and everything "just worked." I don't see how it could get much easier.
Like everything else in Ubuntu, I had no problem configuring printers in CUPS. This is mainly because the web interface tells you to use gnome-cups-manager, and even tells you where it is in the system's menu structure. Really user friendly.
One of the problems with FLOSS is that it tends to be written by hackers (which is also one of its biggest benefits, but I digress)...
Hackers want lots of options. They want to be able to configure FIFO settings for serial printers and flow controls, and all the technical nitty gritty.
Grandma doesn't know what the hell a flow control is. All she wants to do is a print a picture the grandkids sent her.
The biggest barrier to FLOSS usability is often overwhelming the user with too many options. A good GUI presents the most basic options you need to accomplish a task, and hides the rest where Grandma won't find it, but where someone who wants to change some deep, dark setting has the option of doing so.
IMHO, Mac OS X Gets It Right. Their configuration dialogs are quite simple, but you can always get under the hood if you need to. That sort of ease of use is what makes OS X a Unix that Grandma can use.
And if it takes messing about with obscure settings to get things to work, then the back end needs to be refined until the system works.
Complexity is at odds with usability, and in general FLOSS tends to be balanced more towards the former than the latter.
Indeed, of all the interfaces to CUPS that I have seen, two stand head and shoulders above the rest. Yast is hands down the best Linux interface. The other interface worthy of note is for an Apple variety.
Not long ago, there was a Slashdot review of a certain book, which included a chapter on CUPS that can be downloaded for free (can't beat that price!). It seems to demystify the entire process of administering CUPS.
Five cents, please...(that's about all my opinion is worth these days)
All the world's an analog stage, and digital circuits play only bit parts.
My experience with setting up CUPS is the exact opposite. I agree that it has not improved over the past year, but it *IS* remarkably simple to set up a printer with CUPS. I got it on my second try, back a bit over a year ago, and have reconfigured cups maybe 10 times since then, without any trouble.
What's so hard about clicking on "Manage Printers" and then "Add Printer"?
Among my recent linux converts, they described CUPS as being relatively hastle free, and superior to the oft-broken process under Windows.
I admit, I was stumped with the whole setting up the printer in CUPs. I had a friend who works in Linux daily set it up. We had to set up a few test printers, and then try to navigate to the IP address of it(on 2K for internet printing).
After all was said and done, any printout I made printed about 90% of the page, and then it was garbage city. And as a general rule with messed-up printings, all garbage that prints out a form feed every few lines or so. So it's not one page of garbage characters, it's a stack of them.
Eventually I just gave up, and will be just using a Win98 box with sharing for all print jobs.
I've always heard a lot of bad things about CUPS, but have only had occaision to use it over the past year or so. Maybe I've just been lucky, or CUPS is a whole lot easier to mess with on Gentoo, but I've never had any problems with it.
I hate to say it but this is one area windows has it all over Linux. On a windows machine I can setup a printer in under 10 seconds. On my Linux box I still have yet to make it work.
In windows setting up a printer is as easy as \\servername\ printersharename
On the server adding that printer to be available to clients is just a matter of knowing what port, or IP its on (which configures a "port" when you provide the IP during setup). This again is a minor job.
I've tried, several times to get CUPS working and ave found it the stupidest sub system in all of UNIX. There has got to be a better way, but I haven't found it yet, has anyone else?
I have been able to get everything I have ever needed working in Linux in the past simply bu reading the man pages and how-to's but neither seems to have the answers for CUPS.
My printer in my house is on a printer server box. Configuring printing should be trivial. Privide a printer type and an IP and GO.
Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
Comparisons to Windows are beyond the point: the fact is, the CUPS interface undeniably sucks, that is the point of this article.
So there.
____
Printers are, generally, a bit of a pain in the ass. There are way too many proprietary drivers and driver styles, and I really don't see the need for it.
Why can't these manufacturers define a standardized, extensible interface format for their printers and end this madness once and for all?
Free Software: Like love, it grows best when given away.
Mandr{ake,iva}'s printer admin thingie actually runs nmap to sniff your network and find all printers exported by all machines using any protocols it knows how to talk. It's pretty amazing, but it took 10 minutes or more to run on the building network here, during which time the GUI didn't repaint and appeared hung.
I would have killed it in disgust, thinking it really was hung, but first I did a "top" to see if I could tell what it was doing. Then my jaw dropped when I saw it running nmap and starting and stopping many other processes to try to connect to the open ports it was finding, so I let it finish and was fairly impressed. It really needs a progress bar, or better, to have printers pop up in the GUI as they are found.
CUPS autodetects your printer, but then asks you how your printer is connected? (locally,cups,jetdirect etc.).
It *knows* i have no jetdirect or network printer, that the printer is connected on lp0 and it correctly detects the model.
Why it needs to ask me how the printer is connected is beyond me. This can only confuse new users.
VStrider.
You ask an application to print something. At most, you should have to specify which printer. The system should have figured out by itself everything it needs to know about directly attached printers. Anything on the local network that offers printing should have already been recognized. Faraway printers may have to be specified in some way, but even there, you'd expect a directory system or search engine to do the heavy lifting. There should be no need for explicit "system administration".
That's how it should work. Yes, it's not easy to do it that way. Yes, there are some older printers that can't be automatically identified via their electrical interface. Yes, sometimes the system may have to find and download some format conversion program.
Good!, Let me put that in another words:
A Guide For GNU/Linux Users
1. Save up $500.
2. Forget about your freedom and Buy a Mac.
3. Live as a slave of a company that sells proprietary software and hardware.
WTF am I doing replying to an AC at 5 A.M on a Friday night?
I wouldn't call it easy. The last time I tried to figure out, I had to contact the IT department, who told me that a remote printer with an lpd queue has to be configured by choosing the local printer option. How is calling a remote printer a local printer intuitive or easy?
Most of Eric's comments are NOT about CUPS, but instead about the various GUIs that have been written to run on top of CUPS.
Regarding the CUPS web interface, there is actually a LOT of development happening for the new CUPS 1.2 release to make things work much more smoothly, ask the user less questions when they don't need to be asked, and move the web interface to a more task-oriented UI instead of the current function-oriented UI.
For example, in the new web interface the "add printer" button will list any printers that CUPS discovers automatically ("Epson Stylus RX300 on USB port") - you just click on "add listed printers" to add the printers, or "add printer manually" to add one manually. Similarly, printer sharing, remote administration, etc. are now check boxes on the administration page instead of going through the cupsd.conf file.
Anyways, good changes ARE coming for the native CUPS interfaces, and I only hope that the Linux distributors follow suit with their GUIs...
I print, therefore I am.
brought to you by the department of redundancy department
Being a bit of a Linux newbie as it comes to anything past a router, firewall or Samba, I can see that there are a few problems with CUPS but nothing show-stopping.
So long as you know about www.linuxprinting.org, you're set. The procedure via gui consists of: Connect with a web browser, add a new printer, give it a name, select a port (which admittedly can have some confusing options as many "ports" are available for a single, physical port), select a printer.
For bog-standard printers like HP Laserjet, you just select anything that looks HP-like until you can get to select your printer. For others (for example, my Samsung ML-4500 or inkjets etc.), download a PPD, install it in the right place beforehand and options will arise for that printer.
No, it's not 100% clear or simple but then not much in Linux ever is, but I have to say that CUPS is one of the easiest parts of my Linux setup. X, KDE and ALSA have given me ten times more problems. And once CUPS is up, so much uses it and detects it that you really have very few problems, KDE, Samba, etc.
Compared to the APSFilter (with all it's Ghostscript support) that I used to use for printer-servers prior to discovering CUPS it's a dream. I'd have to say that CUPS needs one or two minor tweaks to it's GUI, not much worse than that and even one or two lines of explanatory text or a web-link to Linux Printing's HOWTO would let it be used by even the simplest of Linux users.
Each time I make an attempt to tackle CUPS, I find that the easiest way to deal with configuring it is to delete that package and load LPRng. At least it's something that you can get working in a reasonable amount of time.
CUR ALLOC 20195.....5804M
I haven't set up a printer in Linux for years. and when I did it didn't support all the printer features. I am sure thats changed, and I see that it might have become as easy as windows,
But easier then windows? I bought a printer, plugged it in and it worked. Never took the driver out of the box.
How is it easier then that? did Linus come to your house and put in on your desk for you?
Coincidentaly, I installed a network printer at the office. My desktop Win 2k machine just picked it up.
The Kruger Dunning explains most post on
Wow, I didn't know they had running water in the Ozarks, let alone computers!
Q: What do you think about American Culture?
A: I think it's a good idea.
(adapted from Gandhi)
I found CUPS configuration (for an HP 920c) to be a breeze, far easier than under Windows. Unforunately, under Windows, the "make prints look like ass" is disabled, but under Linux it's set by default, and I can't find anywhere to turn it off.
"Fight for lost causes. You may discover they weren't."
I set up a button to start http://localhost:631 in the w3m browser in an xterminal. w3m supports the images and I don't have to wait for firefox or some other big browser to start in order to configure a printer through the web interface.
Everyone is screaming "just use Yast", "use the webinterface" or "system-config-printer isn't that bad". That's not the point. Here's the scenario:
The user plugs in a printer. There is no step two. If there was no printer before, the printer is now the default. There is no need to tell the machine about it this, no GUI popping up, no config programs to run. If there was a previous default printer the user can right-click its icon representation in some control center to make it the default, otherwise it is just a choice in the print preview dialog.
Stop bitching that CUPS is good enough. Informing us that tool X does what you want it to do is of no worth whatsoever. That is simply taking the easy road. Open Source can, and will given enough time, do better. By failing to see the problems you are just hurting Open Source by your zealotry.
Whether some other operating system does it in some other way is completely irrelevant. The nature of Open Source is to iteratively approach a perfect state. There is no part too small or insignificant, or grand and important, that we can not improve it. Every single wording of every label is open to refinement, every padding issue of every widget open to tweaking to perfection. And when the system plain sucks we rip it out and do it again. The only constant factor in Open Source is change and improvement, 365 days a year 24 hours a day. The shop never closes, on Christmas day there is a million CVS checkins around the globe. That is what Open Source is all about. I put very real code where my mouth is, if your contribution to Open Source consists of "well, it works for me", SHUT THE FUCK UP, in your shortsightedness you hurt Open Source and I as a developer will rather have 5 guys pointing out flaws than you promoting the status quo.
It's like deja vu all over again.
No, actually, he doesn't. He doesn't talk about Windows at all in fact! He talks about open source always going for the better. So why'o'why shouldn't we have a better implementation and printingsystem than Windows?
Do you mean we should wait until Windows gets this (or any other) feature and then implement it by copying the exact same behaviour? -- Well, you can do that - but I actually think it's a good thing getting cups better than any other printingsystem! And also doing that first.
With opinions like that floating around, no wonder people say that FOSS is only copying properitary software.
I'd bet most girls would agree. I know one I can ask if no one else does.
:P
Sure you could do that, but what does asking your mother accomplish?
Join the TWIT army now!
From what I recall was "How do I setup CUPS on a new PC to print to a CUPS queue that's already setup on another PC?"
Yes, the tools to setup a printer connected directly to your Linux
box make it pretty damned simple. But there was no visible way to print to a remote queue.
Now, the answer is, that CUPS can broadcast the queues it has, and any other CUPS server on the network can pick up those broadcasted print queues.
HOWEVER, at the time, the only way to get CUPS to broadcast it's print queues was to go into the config file, and turn on this barely documented feature. And then you had to tell the other servers to listen, using the same method, edit the config file.
The web interface had no facility to turn this sharing on. Recent versions of MacOS X do have an option to share printers or to look for shared printers, so obviously they've taken advantage of this functionality, it wasn't there initially.
The previous comments are only true, if no-one says they're wrong.