printer queues anyone?


Hey all-

I have OSX up and running with my printer installed and working (even though it's an HP, I had to configure it as a LaserWriter IINT) and I can print to it just fine from any aqua-based app that has printing enabled. It should be noted that the printer is on my network, not attached to the mac in any way.

I have *not*, however, been successful in printing using lpr from the command line. If I do lpr -Pipaddress myjob.txt, for example, the lpd seems to accept it, and I see the job sitting there, but it never gets printed.

Any ideas on how to get lpr working?


I've just run into the same thing trying to print out man pages. I can groff just fine, but I end up having to save a .ps file but then have no apparent way to directly send such a file to a printer (used to drag and drop to the desktop printer in OS 9).

Continuing investigation: I've replicated /etc/printcap from some linux machines here, so now lpc sees all the printers. But it could not start up lpd. I started /usr/libexec/lpd manually. That seems to make lpc happy, but lpr -Pprinter still says the printers are unknown... and files still never move from the queues.

Also suspicious; while I set up the directories in /var/spool/lpd, I would have thought lpd would set up needed subdirectories (e.g., for locking), but it doesn't.

As a workaround: Most modern laser printers (e.g., the Phaser and HP I'm using), let you ftp files directly to them for printing. So rather than using lpr, I'm just using ftp.

Funny apple doesn't somehow integrate this into their own stuff, they're clearly not using lpr and cups is the more modern way for UNIX to deal with printers anyway...

Hmmm.. Mac OS X doesn't seem to quite use all of the Unix tools out there. I too have run into this same problem. Since I can't share my printer just yet, I have some users shh into my system and print from there. Alas, I only realized recently that lpr doesn't work.
To configure lpr printing, do the following.

!. Create or copy a valid printcap for your printer(s) (see below for a template)

2. Load this printcap into netinfo:
niload printcap . < myprintcap

3. Create the spool directory in /var/spool/lpd and chown it to daemon.daemon

I'm using this printcap for printing on my LW360 attached to a Linux box (, queue name "lp":

Hera_LW360: \
:lo=lock:rp=lp:rm= \

You can confirm successful loading of your printcap with:
nidump printcap .

Note that you can also configure this via the Netinfo Manager. Supposedly it even creates the spool directory for you, but I couldn't confirm this right now.