Slashdot Mirror


CUPS - Common Unix Printing System

McSnarf writes "What is CUPS, anyhow? And does it make sense to buy a book about a GPLed piece of software? CUPS is an acronym for Common Unix Printing System, software that was written to replace the rather powerless printing system found in Unix and Linux. If you run any current Linux distro, the chances are that you already use CUPS for printing." That being the case, read on for McSnarf's review of Michael R. Sweet's book on the topic. CUPS - Common Unix Printing System author Michael R. Sweet pages 650 publisher SAMS Publishing rating 10 reviewer McSnarf ISBN 0672321963 summary More than just a complete reference to CUPS

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.

14 of 248 comments (clear)

  1. Re:LUNIX by Anonymous Coward · · Score: 2, Informative

    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.

  2. Re:You may be a CUPS user... by Shenkerian · · Score: 4, Informative
    You don't seem the trolling type, so I'll assume you actually believe your statement.

    Mac OS X is absolutely not a "well-camoflaged" Linux distribution. Mac OS X is Unix. It's essentially FreeBSD with a Mach microkernel.

    But yes, being Unix, Mac OS X does use CUPS.

    --
    You tell me how "whilst" differs from "while," and I'll stop calling you a pretentious jackass.
  3. Re:Unix printing by DevNull+Ogre · · Score: 5, Informative

    LinuxPrinting.org rocks. Lots of good information with quality specifics for just about every printer that works with Linux. It has taken away much of the pain of printer configuration.

  4. Re:CUPS is part of the 'killer app' trilogy by Alkarismi · · Score: 4, Informative

    I agree, this would be a great book!
    We've started an LDAP howto for some of it, but haven't worked in compatibility with CUPS, Sendmail, Cyrus, etc *yet*.
    I should really mention Gerald Carter's LDAP book published by O'Reilly - this is for sure a part of the 'big picture'
    Our howto is at http://www.siriusit.co.uk/documents/index_ldap.htm l
    in case you're interested

  5. Re:Need to read a book to print? by Zathrus · · Score: 4, Informative

    It is more complicated than that, and you know it.

    Even under Windows it's not that simple... ok, sure, for the dead simple cases it is, and it's not much harder under *nix with CUPS (AFAIK CUPS doesn't autodetect and autoconfigure, but I haven't hooked up a USB printer to my Linux box to check).

    How do you setup a network printer under Windows? No, not a shared printer... one that sits on the network with maybe a little interface box and that's it. It sure as hell wasn't as easy as it should be, and even when you figure it out it doesn't always work. My HP Deskjet will use IPP just fine, from both Win98SE (which was an utter bitch to get working, since MS claims IPP support for Win98SE and then proceeds to avoid actually making it available) and XP (which was confusing to setup properly since the Add Port button is deeply obfusicated). My Canon photoprinter absolutely, positively refuses to play nice with IPP though. So even under Windows it is more complicated than that.

    And adding print support in Windows isn't as simple as saying print(mystuff); -- proper printing support is quite a bit more complex. Dunno if CUPS is more or less complex than Win32 services, but I suspect it's a tie.

    This isn't a book for average users, it's a book for admins. There are corallarys in every system, be it Windows, Mac (pre OS-X), *nix, mainframe, or whatever... the simple stuff should be simple. The complex stuff, sadly, remains overly complex.

  6. cups is pretty cool. by FroMan · · Score: 5, Informative

    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.
  7. Re:Unix printing by geders · · Score: 3, Informative

    I've never used Redhat's GUI thingy, but KDE has a _great_ Printing Manager built in that has made all this configuration stuff easy as (gasp) Windows. Its available in K Control panel, under Peripherals->Printers (also in the KMenu by default too). Anyway, on my Gentoo box I have never had a second of problems printing with this handy utility...it will even scan a subnet to find all your network printers, so conveinent!

  8. Re:Why use CUPS with OS X? by HarveyBirdman · · Score: 2, Informative
    Why would an OS X user want to use CUPS?

    I believe it's handy for legacy printers that lack OSX drivers.

    --
    --- Ban humanity.
  9. troll food: 12 step printer configuration by FIRESTORM_v1 · · Score: 5, Informative

    Printing under linux SUCKS. Make it as easy as windows or setting up a jetdirect and we have something useful for small scall application.

    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.. :P

    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!
  10. Re:lpd powerless? by TheRaven64 · · Score: 3, Informative
    I would be happy if i could use CUPS to print directly to PDFs instead of a printer.

    Uh, you can. If your application produces postscript output, then just set up a 'printer' which filtes it through ghostscript with the -sDEVICE=pdfwrite switch and then outputs to a file instead of a printer port.

    --
    I am TheRaven on Soylent News
  11. Re:Why not BSD lpd? by amorsen · · Score: 2, Informative

    I have had no end of trouble getting non-postscript printers set up with plain lpd. Then you add the trouble that a whole lot of printers really do not like getting jobs from more than one host via the lpr protocol. For me, the IPP protocol and the www-based setup of CUPS has been a godsend. It gets better every day, as more and more printers get native IPP support. No more walking to the printer to try to interpret its display or blinkenlichts.

    --
    Finally! A year of moderation! Ready for 2019?
  12. Re:Why use CUPS with OS X? by jamesbrown1000 · · Score: 2, Informative

    I was able to share my USB Brother laser printer with my Win2K box via CUPS.

    Well?

    --
    Mindy: "Well...desserts aren't always right." Homer: "But they're so sweet!"
  13. Re:Unix printing by trynis · · Score: 2, Informative

    Actually my experience is the opposite. I recently installed a NAT (I use my old PPro for this purpose) and connected a USB printer (HP Deskjet 930C) to it. I installed Mandrake 9.1, but didn't bother to configure the printer, since I've heard that it is supposed to be tricky. Then I installed Mdk9.1 on my other two boxes as well. Sometime later I accidentally tried to print from one of those, and to my surprise the printer connected to the NAT came alive and printed!

    It just worked out of the box using CUPS.

    --
    This is not a sig.
  14. Re:Unix printing by joestar · · Score: 3, Informative

    Remember: one of the CUPS main developpers is employed by MandrakeSoft and Mandrake Linux has been the first Linux distribution to provide CUPS by default. That could explain the good CUPS support in Mandrake 9.1.