CUPS - Common Unix Printing System
Background Information CUPS is developed and maintained by Easy Software Products, which is co-owned by the author of the book, Mike Sweet.
The complete table of contents for CUPS - Common Unix Printing System, aka "The Octopus Book" can be found here. The CUPS web site also contains errata lists and example code. In addition, Easy Software Products sells a companion CD for the book, only available on their web site.
Who should read it? If you do not use a printer with Unix or Linux, or if you do and you are perfectly happy with the results (maybe because the distro came with all the right stuff pre-installed), this book is not for you.
However, if you are serious about printing, if you are considering replacing the outdated legacy printing system that came with your Unix or Linux or if you are a developer even remotely interested in Linux/Unix printing, this book is for you.
Did I mention that the Octopus Book is also very helpful when it comes to understanding IPP, the Internet Printing Protocol? If you tried to read through all the RFCs on IPP out there and managed to understand IPP afterwards -- congratulations! I tried that, failed, bought the Octopus Book and finally understood.
How will it help users and admins? This book will show you how to install, administer and use CUPS. While the documentation that comes with CUPS is very good already, having everything in one handy package has its advantages, especially as the book goes into more detail than the on-line documentation. In addition, this book will explain to you in great detail how to extend CUPS. If you've ever wanted to be able to directly print some rather unusual file type -- or need a mechanism to create PDF files and email a copy of each PDF whenever you print them to a certain printer, this book will tell you how to do that.Anything for developers? Sure. Complete API documentation with loads of example code. Everything from "How can I add good printing support to my application" to "How do I write a printer driver?" is in there. Likes and dislikes Of course, no book is perfect. This book comes close, but you should know that a lot of it is already available for free on the CUPS web site. It also lacks details on how to rip the old printing system out of your legacy Unix -- but if you've got root, this is something you should know anyhow.
Another thing - it is not as funny as Terry Pratchett. But I can live with that.
As you might have noticed, I really like this book. It definitely made my work much easier -- I work for a manufacturer of (among other things) large printers and this (by now well-worn) book has been granted dedicated space on a very crowded desktop.
You can purchase CUPS - Common Unix Printing System from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
After the story a few days ago about how it was so flexible and could be used for queueing up MP3s etc?
Wah-Lah^H^H^H^H^H^H^H Walla^H^H^H^H^H Viola^H^H^H^H^H Voilà! Instant CUPS book!
Obliteracy: Words with explosions
Of course not, god knows that reading a man page or a how-to is much easier than an illustrated bound guide.
What the hell kind of question is this? Of course it makes sense, especially if you don't know much or anything about the software. What do you think that everyone is some kind of "programmer" that will just take the source and read it to find out what it does? Of course not, cups is fairly easy to setup especially with all the gui's to configure it, but that doesn't mean that it wouldn't hurt to read a book on the subject to make it a little easier.
This might shock ya, but it also "makes sense" to click that little "Donate" button on GPL'd software websites. It's not as common on some would let on. Supporting open source is more than just saying "I use open source".
Ignore the "p2p is theft" trolls, they're just uninformed
NetInfo connection failed for server 127.0.0.1/local
I prefer using the MANZERE (BRO on Win 32)
LPD is a secerity hole, block these prots at yuor fireswall fellas!
Yes, I always make sure to leave the Windows printer sharing wide open as that is totaly secure.
Windows will audo recogdnise yuor printer and install driver! CPUs cants do that!!~!
I disagree, CPU's being general purpose can do pretty much anything you want.
We don't need a stinking printing system, remember that all these nifty computers are going to bring us the "Paperless Office"! At least thats what we were told in the 80s.
Trolling is a art,
Everyone has spent the last decade complaining that Community-maintained software has poor or no documentation. A good reason for that is that its more fun to code than to write down in english what you did after the fact. If I have to shell out money to entice somebody to write good documentation for something I use, then I will definitely do it.
CUPS coupled with Samba and OpenLDAP now provides a one-stop replacement for authentication and file/print for most organisations currently running a MS back-end. Great to see some dead treeware on the subject
Jackass.
I must admit, I've never been very good at setting up printers in Unix. If I don't have access to the Redhat printconf gui utility, I'm pretty lost. This is bad considering that I'm a unix admin at heart. I guess I've never really had the need to configure many printers on Unix boxes, and when I do, it is always conveniently enough a RedHat box.
I might just have to pick this book up. Anyone have any other suggestions on how to demystify printing in Unix? I understand how to use the lpr command, and how to kill jobs with lprm and list them with lpstat, but I'm pretty much a noob at configuring printers. A complete guide on how it all works would be nice. I'm pretty sketchy on the whole "filters" idea, and wouldn't know where to start to set up CUPS or LPD if all I had was a command line available.
If you can't setup CUPS, then you sir, are an idiot! It is just as easy as installing a windows printer. Has been for a couple years actually.
It has all the low down on saucers as well
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
I hate that CUPS... it's bulky and cumbersome to administer.
I don't have a network of users usually, for occasional printing it's an awfully complex system.
Finally, a non-recursive UNIX acronym!
A programmer is a machine for converting coffee into code.
YUO = SUCKS
Jackass.
Um, next time ya' might wanna use the Preview button, as that is some really crappy english.
Case in point why no one in their right mind uses linux, no support, unless you consider being called an idiot because you're a newbie support.
You don't need books about GPL software. Just read the source code. Riiight.
Troll bullshit. Under Red Hat, one fires up the printer control panel, gives the printer a name, selects where the printer is connected (locally, networked, etc.) and selects the printer's make/model if it isn't already autodetected. Hit the "apply" button, and that's it. It couldn't get any easier if the printer bit you on your troll ass.
In this day and age, why should anyone have to read a book about *printing*? Press the print button. It's usually the one with the little picture of the printer on it. End of story. If it's any more complicated than that, then you're doing something wrong.
That'd be like reading a book titled "The Gas Pedal - Friend or Foe?".
Come on, nobody on here doesn't know that OS X is BSD + some other crap. He's obviously trolling your ass.
you sir, are an idiot!
Well, at least you're polite when you abuse people.
Best Windows Freeware
It's printing in Linux.
Even SCO comes with scoadmin to set up printers.
Easy on the flamethrower, little girl.
RMS would be proud.
Another thing - it is not as funny as Terry Pratchett. But I can live with that.
Dude, if you can be as funny as Pratchett while writing about configuring printers then you're definitely in the wrong field.
Obviously English is not his native language, you insensitive clod!
That's bogus. Anyone who has installed a system on his or her home computer will have root, but nowhere near all of them will know where all the components that have to be ripped out are located. I know I don't.
That said, I suppose replacing a legacy system with CUPS might not be considered on-topic for this book... but there seems to be a niche for more generic books about Unix printing that would cover such things.
CJV
I really like the fact that we could configure and see the status of the printer from a web browser.
Think like a man of action, act like a man of thought.
mtas and print servers have a lot in common- so much so that with a simple "dequeing" program (that serializes message input) you can use your qmail [or other mta] as your printing system.
:)
The obvious benefit is that you get to avoid weird printcaps, and all the different "stages" in which a program decides if it's postscript, native for the printer, resizing paper, etc.
Of course, using an MTA as your print server has other security issues to watch for- fortunately, these issues are for the MTA and mailboxes itself. So you don't have to learn the security details of two queue-action systems- only the one that you'd be using anyway
You won't have internet-printing-protocol, or an LPD server [although I suppose it wouldn't be that difficult to hook one into qmail-inject...], fortunately it seems that these things are less-important- at least on our network.
One of our clients uses those cheap print-server boxes, and has a Win2k box that can't seem to understand IPP. No matter, the box can send mail, so everyone's happy (infact- the program actually has a "print to email function" - so while it sounds weird to print to email to a printer, it's actually not that big of a workaround for them)
Anyway, back to CUPS... CUPS is a lot like sendmail. Yes, the configuration file looks slightly less like line noise, but it is complicated enough to warrent an entire [thick] book on the subject. I don't need IPP or foomatic or 10% of my programs to think my printer actually understands A4 paper, OR reading configuration files that make me think someone picked up the phone... I'll just stick to my qmail-printer.
I used to use apsfilter w/ lpd for all my printing needs. Which worked, once it was setup. Though I never did get samba printing exactly correct. It was a bear. It was eaiser to setup sendmail than getting printing working in linux.
Well, a short while ago we picked up a new printer. I was dreading going into apsfilter setup again and wrestling with lpd and all that. I looked around cups' site looking for a decent howto. Nothing for a simple "just do it" documentation. I decided to try out gentoo's site for documentation, which is awsome. Here is an awesome howto for getting cups setup in gentoo. You could probably glean the information for doing it in other distributions also from this howto.
I know a lot of folks get sick of gentoo folks pushing it all the time. But documentation and howto's are one of gentoo's biggest strengths. I really reccomend folks look at the gentoo docs when they are trying to figure something out.
Nope, I don't have any affiliation with gentoo other than a user and the occasional bug reporter.
Norris/Palin 2012
Fact: We deserve leaders who can kick your ass and field dress your carcass.
But those of us who use OS X use CUPS for drinking. Large quantities of Mint Juleps, in particular, this past weekend.
sulli
RTFJ.
Now if only someone would write a book telling me how to get my Lexmark winprinter to work under linux...
There is a lot more to printing than writing device drivers. I've been using CUPS on MacOS X for quite a while, since there are no other drivers for my old Epson 1520. I'm a bit dissatisfied with the color management abilities of CUPS. Sure it has custom color tables, but no real way to integrate with Colorsync or other color profiling systems. I can turn off all color management in CUPS, hoping it prints a relatively neutral profile, and then let Colorsync work it's profile to that, but you don't really get the full dynamic range compared to real official Epson drivers with real official Colorsync. So I'm not even getting as good quality color output and matching as with MacOS 9. Oh well, I suppose I'll have to get a new printer with proper drivers one of these days, but I like my old 4color printer for press proofing, I can't stand 6 or 7 color printer proofs when I'm targeting CMYK film output.
Never knock great documentation. I would have to say that one of the major problems with open source software today is that many of the programs do not have enough great documentation.
-redptam-
A simple question. Why would an OS X user want to use CUPS? I know there's a good reason it is built in, I just haven't found the need to use it yet.
Maybe I'll use it, maybe I won't. I remember thinking "PDF workflow handling in OS X? Why bother?" but it turned out to be a great help when working on newsletters and such and mailing them out from Illustrator.
So if anyone could post a good "5 - Informative" reply to me, I'd love it.
"He uses statistics as a drunken man uses lampposts...for support rather than illumination." - Andrew Lang
Does this mean there is something else than echo "foobar" > /dev/lp0 ?
REDUNDANT IS MY MIDDLE NAME BTW.trm
Fact : CUPS is dying It is official; USA Today confirms: CUPS is dying One more crippling bombshell hit the already beleaguered CUPS community when IDC confirmed that CUPS market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent USA Today survey which plainly states that CUPS has lost more market share, this news serves to reinforce what we've known all along. CUPS is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test. You don't need to be a RMS to predict CUPS's future. The hand writing is on the wall: CUPS faces a bleak future. In fact there won't be any future at all for CUPS because CUPS is dying. Things are looking very bad for CUPS. As many of us are already aware, CUPS continues to lose market share. Red ink flows like a river of blood. CUPS for C64 is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time CUPS for C64 developers that C64 guy only serve to underscore the point more clearly. There can no longer be any doubt: CUPS for C64 is dying. Let's keep to the facts and look at the numbers. CUPS and CAKES leader that Spinal Tap guy states that there are 7000 users of CUPS and CAKES. How many users of NutCUPS are there? Let's see. The number of CUPS and CAKES versus NutCUPS posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 NutCUPS users. UpperCUPS posts on Usenet are about half of the volume of NutCUPS posts. Therefore there are about 700 users of UpperCUPS. A recent article put CUPS for C64 at about 80 percent of the CUPS market. Therefore there are (7000+1400+700)*4 = 36400 CUPS for C64 users. This is consistent with the number of CUPS for C64 Usenet posts. Due to the troubles of Old CUPS guys, abysmal sales and so on, CUPS for C64 went out of business and was taken over by New CUPS guys who sell another troubled OS. Now New CUPS guys is also dead, its corpse turned over to yet another charnel house. All major surveys show that CUPS has steadily declined in market share. CUPS is very sick and its long term survival prospects are very dim. If CUPS is to survive at all it will be among OS dilettante dabblers. CUPS continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, CUPS is dead. Fact: CUPS is dying
Of course not, just download the man pages and print them ou-- oh, right.
I am interested in, have to be at least C.
Then what do we care what he says?
On the recent thinkpads, there's a BIOS option that says: "Boot default display: {CRT, LCD, both}".
It works like a charm. There's no reason to not select "both" unless you need an extra 10 min. on your battery.
And Fn-F7 toggles (wow, another one), if needed.
Works in Windows, Linux, et. al without fuss. You may have to add a monitor driver in Windows the first time it gets used (but I never saw that message... maybe it was autodetected during install as Generic XGA or some such)
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
I think it was intentional and an example of something called "Satire."
With Berkeley LPD you can do:
:sd=/var/spool/lpd/sap:\ :if=/usr/local/lib/print-sap-out:\ :af=/var/spool/lpd/sap/acct:\ :lp=/dev/null:\ :bk:sh:mx#0:
sap|write documents to sap-out:\
This sets an input filter on an otherwise dummy printer, which can be a shellscript or whatever executable. It will receive your request data on stdin, and gets args that specify the source host and loginname of the user submitting the request.
The above was in real-life use on a Linux system, the script took the input file and put it on an Intranet website directory as a PDF file. grouped by source system and user.
Now, update the Linux system and we got CUPS insted of lpd. But this simple way of input-filtering printers seems to be gone.... We can still write a backend, but it does not get the originating hostname as a parameter!
How is this solved or worked around?
And I've upgraded KDE to 3.1.2, which means since I don't understand CUPS enough to upgrade it, I can't print. I'd get this book if I cared. The fact is, I don't know squat about Unix printing.
Eat at Joe's.
Chandler really sucked at cups, Joey took $1400 of his money.
Ross was better than Joey and won all the money from him!
CUPS is basically an IPP server, right? So Windows should work as an IPP client for CUPS, right? Any clue how to do that?
Printing under linux SUCKS. Make it as easy as windows or setting up a jetdirect and we have something useful for small scall application.
:P
Umm... under Redhat 7.3
As root:
1: run printtool
2: click 'New Printer'
3: click 'Next'
4: Name the Printer
5: click on 'HP JetDirect'
6: Enter IP address
7: Go find Printer driver in List (I use an HP LJ4) so I select HP->LaserJet4->ljet4
8: Click Next
9: Click Finish
10:click Apply,then OK to 'LPD restart' message
11:Select Printer from the list
12:Click on 'Test' then 'US LETTER Postscript Test'
Easy I'm a 12 stepper..
Hell. In windows it is easy too, however you need to create a local TCP/IP port to print to and I don't have those instructions..
Partnership for an idiot free America!
Microsoft, on the other hand, doesn't want to empower its users by curing their idiocy. If they taught all the idiots, who would buy their product?
I have to disagree that CUPS has good documentation.
The organization of it is confusing, some of it
is out of date, and many terms aren't defined.
It assumes you know what "foomatic" means
and what the gimp-print provides. It took me
three tries before I could install it successfully
from source code, and I still don't have it working
completely correctly (my printer configuration
disappears when I reboot my server?). Although its
great when it works, I think it could use a clear
and up-to-date HOWTO-CUPS.
What is missing with regards to printing in unix is something better that the standard (unfortunately), ultra primitive printer options dialog box given to the user, i.e. a prompt asking for your favourite lpr command.
When I select File->Print in an application in X I should be presented with a dialog box with access to all the selected printer's specific options (for instance print on both sides, etc). As long as this is not the case printing in unix sucks, although with CUPS it sucks less :)
When you are sure of something, you probably are wrong (search for "Unskilled and Unaware of It").
And does it make sense to buy a book about a GPLed piece of software?
That is one very naive question, so let me be the first to welcome you to Slashdot.
I bet your paedo scat pr0n collection must be at least 100 GB!
-1 troll? wtf? i know everyone here has done this at one time or another because you couldn't get the fucking doc to print. bunch of fucking liars.
CUPS is Not a Unix Printing System.
Are you sure? In the US, copyrights stay in force until something like 50 years after the death of the author. But religious people believe that god wrote the bible, and they certainly don't believe that god is dead.
There could be a BIG lawsuit coming out of this.
That's bogus. Anyone who has installed a system on his or her home computer will have root, but nowhere near all of them will know where all the components that have to be ripped out are located. I know I don't.
...I imagine somewhere near all of those that buy a 650 page book about the printing system of their computer does...
Kjella
Live today, because you never know what tomorrow brings
Michael R. Sweet mannnnn, Michael R. Sweet!!!!
== Jez ==
Do you miss Firefox? Try Pale Moon.
Hmm "man mobydick"? Would that give you the full text of the book or just the cliff notes?
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
As root
Problem #1. I want my users to be able to add a printer. They should not need to be root.
For our 180 Windows users I have an "Add printer" icon that displays the shared printers on our Samba print server. They right-click and choose Connect. This installs and configures the printer on the workstation including downloading the applicable driver if required.
If you don't want to repeat the past, stop living in it.
I prefer B and C CUPS myself...
This is /. Linux snobbery rearing its ugly head. After jumping through hoops to get a Linux box to print several years ago, I never had the inclination or time to set it up on subsequent boxes. I now use the method above...
Tired of being "punished" by the Slashdot $rtbl since 2002. I'm now over at http://soylentnews.org/ .
I bought this book shortly after it came out.While it gives a fairly good description of CUPS, it is useless in troubleshooting when something goes wrong.
/var and one day with Red Hat just stopped printing altogether for this reason.
And with CUPS, at least with me as a user, that happens very, very often. I was never able to get it to run at all under FreeBSD, and about half the time under Slackware or RedHat.
Some of the problems:
CUPS has failed to compile from source as many times as it has.
It gives cryptic error messages, like "client-error not possible" or "you do not have permissions to access that device" (this was while running as root, BTW, on FreeBSD).
It never cleans old jobs out of its spool directory under
The so-called support forum isn't. Many of the questions are never answered, or are answered in such a way as to useless information not related to the problem, and its search engine is among the slowest in the known universe.
I am neither impressed or amused. To me, CUPS means "Completely Useless Piece of Software" --- and I am being polite about the last word there.
So, in regards to buying this book, I quote the immortal words of Mr. Peabody "Caveat Emptor."
An entire book about a printing system? How complex is this solution anyway? I would think that if you need to write an entire book to discuss a software system that is providing the same services we have had for 30 years, then you may need to rethink the implementation.
Providing printing services to users should be plug and p(r)lay by now.
You would think that the developers could have come up with a real name for Foomatic, before releasing it. I've always hated that name and it is even worse when trying to explain it to someone who is not familiar with CUPS.
And does it make sense to buy a book about a GPLed piece of software?
You mean, like, Perl?
Informatus Technologicus
I guess the idea is to not use lpd for printing but instead use it for queueing up MP3 files.
That goes well with the misreading-flast I got when scrolling past the article:
Common Unix Pirating System.
B-)
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
I recently installed the shiny new Redhat 9 on my system. It acknowledged my printer correctly and proceeded to configure it during boot-up. When I wanted to print out a document in KWord it gave me a robust selection of printer configuration options and print spooling/systems to choose from, then...
;)
Nada. Zip. Not just CUPS but all of them printing systems or whatever you wanna call them.
No matter what application I use, it rudely farts out some obscure error I don't have the patience or time to investigate. Usually when I need a document printed out, it's not for a half hour from now or whenever I can find the time to get under the hood to fix it, I need it right there and then. So far, I've had to leave Windows with that grunt work.
Linux is still my favorite toy, but it still needs some fine-tuning for the novice and the lazy like me
SEO Copywriter. Just Say ON
The parent, modded down as a troll, said:
cat filename.txt | mail -s "Print this" me@somewhere.com
and then print the email using Outlook Express on a Windoze box.
There, now you don't have to buy a book.
I have a Redhat 7.2 system at home. Printing is fucked to high-heaven. I love Linux, but printing under Linux is a goddamn nightmare. It's even worse than under Windows, which is no picnic, but usually works.
"that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
1. Plug in Printer
2. Insert driver CD if prompted
3. Select "Print" from menu, click OK
(note, step 3 requires paper in the tray of the printer)
As for UNIX printing, the book you need just keeps getting longer and longer.
Windows doesn't make me read a fucking book to print stuff.
Dude... it's your own damn fault if you're using RH 7.2. RH 8.0 has that all sewn up and RH9 has the extra fixes for the rest of the system. Setting up a printer from the GUI on my RH8 box took me all of one minute. This is for an Epson Stylus Color 600. In 7.2 it took me quite a while to get it going, but CUPS certainly fixes the matter VERY nicely. BTW... that one minute inluded setting it up as a shared printer as well.
Un-news
what is there that cups can do that ndps/iprint cant & vise versa?
NDPS
iPrint
I love those little boxes. They even provide HP JetDirectand IPP. You can take your ancient Laserjet series II or III or even your inkjet and connect them to the parallel version and use them as JetDirect or IPP printers anywhere on the LAN. They also support IPP. They are also fully configurable with a web browser and the configuration is password protected. I have 3 on my home LAN. The parallel version eliminates a cable by attaching directly to the printer without a cable. It's as if the printer was manufactured as a LAN printer. Plug in a LAN cable and wall wart and the printer ready to configure and use on a LAN. Win and Linux boxes connect to them with no problems. IF I remember properly, they could also be a DHCP server. They can configure as a Novell Network Printer. That little box does a lot.
The truth shall set you free!
The fact a whole book on a printing daemon exists is really, really disturbing.
Now with Unixes, the prnting facilities have been suprisingly unrefined for some time. But I get books on perl, bin, sed - even grep or find. But a book on a printer daemon. Its really sad that it need exist.
Yeah I've been reading slashdot for years and only very occasionally posting AC. One day I decided I wanted to post more regularly so I registered.
-- I was rewarded greatly.
I just found a much better description in a paper named Twenty Years of Berkeley Unix
Here's your UUoC award.