Subject: Re: Addendum about printing.
To: Frederick Bruckman <fredb@immanent.net>
From: Richard Rauch <rkr@olib.org>
List: netbsd-help
Date: 07/21/2003 09:16:03
On Mon, Jul 21, 2003 at 08:20:25AM -0500, Frederick Bruckman wrote:
> On Mon, 21 Jul 2003, Richard Rauch wrote:
> 
> > Is there a deliberate rationale for disabling if/of filtering when
> > lpd is directed to use a remote printer?  Is it a bug?  Or did someone
> > just think, "Well, they're using a remote printer which *probably* has
> > appropriate filters already, so local filters are probably a mistake,
> > and we can (silently) ignore them"?
> 
> > Another send-pr?  Or is there a good reason?  (And if it's deliberate,
> > am I blind or is it not documented in printcap(5)?)
> 
> What about the "-r" flag described in lpd(5)? Doesn't that work?

I didn't see that; I was reading printcap(5), not lpd(8).  Oh well, I am
myopic.  (^&

Now I'm trying to use that, and am having troubles:

 * "if" still doesn't work (I have to use "of").  Why can't I use "if"?  With
   an "if" specified it acts as if there was no filter (or as if I hadn't
   used "-r").

 * Do you have any idea why (other than historical behavior) filters are
   disabled on remote printers by default?

 * With "of" and "-r", I get void output from my print.  pprometheus is
   objecting:

   Jul 21 08:48:40 prometheus lpd[2178]: protocol screwup: Error: /typecheck in --closefile--

   (This looks like a GhostScript error, but I'm not sure.)

   lpq onreports that the print-queue has a 0-byte print-job in the queue
   (apparently wedged).

   I tried putting a "tee -a /tmp/foo | " in front of "gs ..." in my "ps"
   printer-filter.  /tmp/foo is empty after attempting a print...


...so while this *sounds* like "-r" is what I need, I'm still stuck using
lp=/dev/null and doing a seperate "| lpr -P..." in my printer-filter for
a "local" printer.

Yucky hack, but the only thing that works.  (And even so, it still spits
out a blank page at the end of the job.)

Given the murky idea of silently killing a printcap line if another printcap
line is specified---UNLESS I use "-r" with lpd, I'm not sure what the intent
is for "of" + "-r".  I'd be (relatively) happy if I could get the yucky
hack to stop printing extra blank pages.


Thanks for the pointer, though.


-- 
  "I probably don't know what I'm talking about."  http://www.olib.org/~rkr/