Subject: coping with funky remote printers
To: None <email@example.com>
From: Steven M. Bellovin <firstname.lastname@example.org>
Date: 12/31/2004 17:22:46
I have a Brother 5150D printer that is going to serve assorted NetBSD
boxes. The question is how best to use it.
Currently, I've connected its parallel input jack to the print server
built in to an SMC 7004ABR NAT box. That usually works... However,
NetBSD's lpd doesn't honor if= filtering for remote printers, though I
understand that FreeBSD's does. I'd like to use magicfilter or
equivalent. (apsfilter seems to have a hack-around way to do this, but
I haven't quite gotten it working yet.)
The second issue is taking advantage of the built-in duplexer in the
printer. I thought that the following Postscript code was the standard
way to turn on duplexing:
statusdict begin true setduplexmode end
This is what is emitted by pkgsrc/print/mp, but it doesn't seem to
work. The Windows driver emits the following code, which (after I
translated it slightly) does work:
%%BeginFeature: *Duplex DuplexNoTumble
<</Duplex true /Tumble false>>setpagedevice
So -- I'm looking for the simplest way to handle printing, give that I
want magicfilter or equivalent. I also want a simple way to let the
user request duplexing by selecting a different printer. (Note that
this latter probably has to happen as some form of post-processing to
Poscript files, which has to include the output from magicfilter.) Any
suggestions about how best to handle this?
I know about apsfilter and magicfilter for converting random file
formats to Postscript. The latter is much simpler to get working.
For different print spoolers, I know of LPRng and CUPS. The latter
looks to be quite complex; besides, there are currently three security
notices about 1.1.22nb2 in pkgsrc. Other choices?
--Prof. Steven M. Bellovin, http://www.cs.columbia.edu/~smb