Man Linux: Main Page and Category List


       p910nd - port 9100+n printer daemon


       p910nd [-f device] [-i bindaddr] [-bv] [0|1|2]


       p910nd  is  a small daemon that copies any data received on the port it
       is listening on to the corresponding printer  port.   It  is  primarily
       intended  for diskless Linux hosts running as printer drivers but there
       is no reason why it could not be used on diskful hosts.  Port  9100  is
       copied to /dev/lp0, 9101 to /dev/lp1 and 9102 to /dev/lp2.  The default
       is port 9100 to /dev/lp0.

       The -f option can be used to specify a different printer  device,  e.g.

       The  -i option can be used to specify binding to one address instead of
       all interfaces which is the default.

       The -b option turns on bidirectional copying.

       The -v option shows the version number.


       p910nd can be run as a standalone daemon or  from  (x)inetd.   It  will
       automatically detect if it is running under (x)inetd.

       A  sample  SysVinit  script,, is provided for operation as a
       daemon.  p910nd will change its name under  ps  to  match  the  printer
       port, i.e.  p9100d, p9101d and p9102d.

       When  running  under  (x)inetd,  the  /etc/inetd.conf entry should look
       something like this (with tcpwrappers protection):

       p9101 stream tcp nowait root /usr/sbin/tcpd /sbin/p910nd

       Don’t forget to add an entry in  /etc/services  for  the  corresponding

       If  operating  with  lprng,  use  the  host%port syntax for the printer
       device to send jobs to it.

       If operating with CUPS, this is supported as  the  AppSocket  protocol,
       also known as the JetDirect (probably TM) protocol.

       If  operating with classic Berkeley lpd, a sample client,, is
       provided.   This  should  be  installed  as  the   ifilter   (if=)   in
       /etc/printcap.  should be installed as the ofilter (of=) in
       /etc/printcap.  It may be necessary to create a dummy  spool  file  for
       lpd  (lp=).   This  file  will  be  opened  but  not  written  to.  The
       corresponding C versions are left as an exercise for the reader.

       When running under inetd, more than one instance could be started.   To
       avoid problems with multiple instances attempting to access the printer
       at the same time, make sure that only one client is active at  any  one
       time.  This  can  be  done  by  designating one host as the spooler and
       sending all jobs to this host. You will probably  need  to  set  up  an
       intermediate queue anyway to provide print job filtering.

       If  compiled  with  USE_LIBWRAP  and  linked  with  -lwrap, it uses the
       libwrap  library  (tcpwrappers).  Access  control  can  be  done   with
       /etc/hosts.allow and /etc/hosts.deny. The service name is p910nd.


       p910nd logs error messages to syslog.


       printcap(5), hosts_access(5)


       /var/run/,     /var/lock/p910nd/p9100d,     /etc/hosts.allow,


       p910nd is under the GNU Public License Version 2


       Ken Yap (greenpossum ATSIGN users PERIOD sourceforge PERIOD net)


       Version 0.93 October 2008

                                1 January 2008