Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

p910nd(8) [debian man page]

P910ND(8)						      System Manager's Manual							 P910ND(8)

NAME
p910nd - port 9100+n printer daemon SYNOPSIS
p910nd [-f device] [-i bindaddr] [-bv] [0|1|2] DESCRIPTION
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. /dev/usblp0. 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. INSTALLATION
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, p910nd.sh, 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 port. 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, client.pl, is provided. This should be installed as the ifilter (if=) in /etc/printcap. banner.pl 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 built with USE_WRAP, it uses the libwrap library (tcpwrappers). Access control can be done with /etc/hosts.allow and /etc/hosts.deny. The service name is p910nd. DIAGNOSTICS
p910nd logs error messages to syslog. SEE ALSO
printcap(5), hosts_access(5) FILES
/var/run/p9100d.pid, /var/lock/p910nd/p9100d, /etc/hosts.allow, /etc/hosts.deny COPYRIGHT
p910nd is under the GNU Public License Version 2 AUTHOR
Ken Yap (greenpossum ATSIGN users PERIOD sourceforge PERIOD net) DATE
Version 0.95 February 2011 16 February 2011 P910ND(8)

Check Out this Related Man Page

cups-lpd(8)							    Apple Inc.							       cups-lpd(8)

NAME
cups-lpd - receive print jobs and report printer status to lpd clients SYNOPSIS
cups-lpd [ -h hostname[:port] ] [ -n ] [ -o option=value ] DESCRIPTION
cups-lpd is the CUPS Line Printer Daemon ("LPD") mini-server that supports legacy client systems that use the LPD protocol. cups-lpd does not act as a standalone network daemon but instead operates using the Internet "super-server" inetd(8) or xinetd(8). If you are using inetd, add the following line to the inetd.conf file to enable the cups-lpd mini-server: printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd -o document-format=application/octet-stream Note: If you are using Solaris 10 or higher, you must run the inetdconv(1m) program to register the changes to the inetd.conf file. If you are using the newer xinetd(8) daemon, create a file named /etc/xinetd.d/cups containing the following lines: service printer { socket_type = stream protocol = tcp wait = no user = lp group = sys passenv = server = /usr/lib/cups/daemon/cups-lpd server_args = -o document-format=application/octet-stream } OPTIONS
-h hostname[:port] Sets the CUPS server (and port) to use. -n Disables reverse address lookups; normally cups-lpd will try to discover the hostname of the client via a reverse DNS lookup. -o name=value Inserts options for all print queues. Most often this is used to disable the "l" filter so that remote print jobs are filtered as needed for printing; the examples in the previous section set the "document-format" option to "application/octet-stream" which forces autodetection of the print file format. PERFORMANCE
cups-lpd performs well with small numbers of clients and printers. However, since a new process is created for each connection and since each process must query the printing system before each job submission, it does not scale to larger configurations. We highly recommend that large configurations use the native IPP support provided by CUPS instead. SECURITY
cups-lpd currently does not perform any access control based on the settings in cupsd.conf(5) or in the hosts.allow(5) or hosts.deny(5) files used by TCP wrappers. Therefore, running cups-lpd on your server will allow any computer on your network (and perhaps the entire Internet) to print to your server. While xinetd has built-in access control support, you should use the TCP wrappers package with inetd to limit access to only those comput- ers that should be able to print through your server. cups-lpd is not enabled by the standard CUPS distribution. Please consult with your operating system vendor to determine whether it is enabled on your system. COMPATIBILITY
cups-lpd does not enforce the restricted source port number specified in RFC 1179, as using restricted ports does not prevent users from submitting print jobs. While this behavior is different than standard Berkeley LPD implementations, it should not affect normal client operations. The output of the status requests follows RFC 2569, Mapping between LPD and IPP Protocols. Since many LPD implementations stray from this definition, remote status reporting to LPD clients may be unreliable. SEE ALSO
cups(1), cupsd(8), inetconv(1m), inetd(8), xinetd(8), http://localhost:631/help COPYRIGHT
Copyright 2007-2011 by Apple Inc. 4 August 2008 CUPS cups-lpd(8)
Man Page