.comment: Happily In My CUPS - page 2
Getting Serious About Printing
There are several flavors of CUPS, a
free version that works if you're lucky and a pay-for version that
costs from a fair amount to a whole lot that works if you're unlucky.
That's because the free version comes with PostScript Printer
Description (.ppd) files, which are tantamount to printer drivers,
for Epson and Hewlett-Packard printers only. If your printer is one
of these or can be set to emulate one, then you're in business,
though it may be that not everything will work exactly as it should.
CUPS is one of those commercial/open source projects. No one knows
whether it, like the others, is likely to succeed commercially, in
that people can also develop for it for free. Hacking is possible:
For instance, moments ago I copied the .ppd files from kdesupport in
my kde source tree (
kdesupport/libaps/etc/printers/ppdlib, if you
must know) to
/usr/share/cups/model, and when I restarted the CUPS
/usr/sbin/cupsd, but scripted in
/etc/rc.d/init.d), they all appeared and were available to CUPS.
The one I tried didn't work, but it was available, and I suspect it
wouldn't take much hacking to make it work perfectly. The pay-for versions cost
from $49 to nearly $500, depending on such things as whether it's single-user
or being used on a network. (The free version supports at least some
network printing protocols.)
And it is the free version that I tried, though I can see how the enterprise would be quick to spring even $500 for the full circus -- you're going to pay an IT guy that much to set up LPRng (or, more likely, to learn that he can't, after which CUPS professional, a/k/a ESP Print Pro will be purchased anyway), and you're still up the creek if you change your printer configuration. CUPS makes setup and reconfiguration laughably easy.
The free stuff is available at
the CUPs Web site in source
tarball and .src.rpm, plus binaries for a selection of platforms, including
several flavors of Linux (and packaged as .deb, .rpm, and tarball). I built
from source (pretty much) uneventfully on one machine here, and used the
Linux-2.2 rpm on another. In both cases installation was
make install put the stuff that was
supposed to go into
/etc/cups into a toplevel
instead, which caused the whole thing to bomb until I got it figured out.
A caveat: CUPS overwrites whatever
miserable excuse for a print spooler you currently have, so if you
spent a week making it work and have developed affection for it and
the fact that it only prints one character per page, by all means
archive it someplace before you install CUPS. I took great delight in
rpm -e LPRng
before I did
Then again, I had absolutely nothing to lose.
Once it was installed properly (which
happened completely uneventfully with the rpm), I did
/etc/rc.d/init.d/cups start to start the daemon.
And had I read the docs a little more carefully, I would now have saved myself some time, because I didn't realize that it has more than just a commandline configuration utility, which like many such is a little obscure until you master it, after which it is probably quicker than any other configurator. This means that if you install CUPS for a living, you'll do it from the console, but otherwise you probably won't.
Because I didn't pay enough attention
to the documentation, I downloaded and built QTCups and Kups, which
are, respectively, QT and KDE front ends for the program. (There are
similar programs for GTK and others as well.) Having gone to all that
trouble, I'm including screen shots of them. QTCups isn't as ugly as
it looks, unless you're still experimenting, as I am, in hope of
oneday making font anti-aliasing in KDE2 useful. Kups is attractive.
Both, as it turns out, are unnecessary (if you have a browser, which
in that you are reading this we can reasonably assume that you do).
Once CUPS is running, fire up a browser -- any browser, and in the
location space type
http://localhost:631/admin and hit
enter. You'll be prompted for the root username (it's "root,"
big surprise) and the root password, whereupon you'll see the CUPS
administration tool in all its splendor. (The screenshot I include
here was taken during my flirtation with using kdesupport's .ppd
files, which is why so many printers are listed. This was midway in
new printer process, which really does require no
documentation unless you're doing something extremely exotic.)
Of some annoyance to me was the fact that the existing H-P drivers made no allowance for the existence of a PostScript printer, and I have a genuine H-P LaserJet PostScript cartridge. Yeah, I know that printing using the cartridge is for some reason actually slower, but I have the thing and would like to use it. (And, oddly, until yesterday StarOffice would only print to an actual PostScript printer, about which more in a minute.)
Once a printer is added, you're told exactly that. Click on the printer name and you go to a screen that offers a number of options, one of which is configuring the printer (which do; it lets you tune things a little -- for instance, set the paper source and turn on duplexing if you have choices as regards those) and another of which is printing a test page (which also do, for obvious reasons). Then you're done.