[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#311774: lprng: Fails to print to localhost when named pipe is missing



On Thu, Mar 16, 2006 at 12:38:16PM +0100, Anders Boström wrote:
> OK, this is from the chroot:
> 
> /etc/printcap:
The bounce will cause problems, as it will try to loop back through
localhost.

With a chroot, you want to print just like you are out of the chroot.
To do this, you need to tell lprng clients two things:
1) Where the "real" print queue is
2) Don't use the unix socket.

LPRng tries to be too clever. force_localhost would work, except
that it sees "localhost" as the remote printer and "helps" you by using
the Unix socket.

So, for the first part.  Outside the chroot, my printcap looks like:

lp|epson600|Epson Stylus Color 600:\
      lp=/dev/lp0: \
      :sd=/var/spool/lpd/%P: \
      :if=/usr/bin/foomatic-rip: \
      :filter_options= --lprng $Z /etc/lprng/Epson-Stylus_Color_600-gutenprint-ijs.5.0.ppd: \
      :log=/tmp/foo:\
      :mx#0:sh:

Then, inside the chroot, I have as my /etc/printcap
lp:\
        lp=lp@localhost

Last of all, within the chroot, tell it not to use the Unix socket,
this in /etc/lprng/lpd.conf

unix_socket_path=off

That tells the lprng clients to not go "oh its localhost, I'll use the
socket". It uses the TCP port to connect to the outside lpd which then
runs it through the filters to /dev/lp0

I've tested this setup, it works within a chroot.

 - Craig
-- 
Craig Small      GnuPG:1C1B D893 1418 2AF4 45EE  95CB C76C E5AC 12CA DFA5
Eye-Net Consulting http://www.enc.com.au/   MIEE         Debian developer
csmall at : enc.com.au                      ieee.org           debian.org




Reply to: