- Line Printer Daemon protocol
The Line Printer Daemon protocol/Line Printer Remote protocol (or LPD, LPR) also known as the Berkeley printing system, is a set of programs that provide
printer spooling and networkprint server functionality forUnix-like systems. The most common implementations of LPD are the officialBSD UNIX operating system and theLPRng project. TheCommon Unix Printing System (or CUPS), which is more common on modernLinux distributions, borrows heavily from LPD but implements Internet Printing Protocol (IPP). Commercial solutions are available that also leverage Berkeley printing protocol components, where more robust functionality and performance is necessary than is available from LPR/LPD (or CUPS) alone (such as might be required in large corporate environments). The LPD Protocol Specification is documented in RFC 1179, Line Printer Daemon Protocol, dated August 1990, edited by L. McLaughlin III.Commands
The official LPD protocol defines the following commands:
*lpr—Assign a job to a queue.
*lpq—Display the jobs assigned to a queue and their print status.
*lprm—Remove a job from a queue.
*lpc—Control a queue.The lpd program provides the daemon and queues with which the aforementioned commands interface.Usage
In order for a system to provide print functionality using LPD, the lpd program must be configured and started. Based upon its configuration, it will create the necessary queues and address the printers available to users of the system. Once started, it listens for local messages on TCP port 515 (in standard implementations) from the lpr, lpq, lprm, and lpc programs, as well as for network messages from remote clients who also implement the LPD protocol.
An LPD printer is identified by the IP address of the PC (or network printer or server) and the queue name. Many different queue names may exist in one LPD server, with each queue having unique settings. Note that the LPD queue name is case sensitive. Some modern implementations of LPD on network printers might ignore the case or queue name altogether and send all jobs to the same printer. Others has the option to automatically create a new queue when a print job with a new queue name is received. This helps to simplify the setup of the LPD server. [ [http://gpvno.co.za/ Winet] 's InetLPD server documentation.] Some companies have a tradition of calling the queue name “lpt1” or “LPT1”.
A printer that supports LPD/LPR is sometimes referred to as a "TCP/IP printer" (TCP/IP is used to establish connections between printers and workstations on a network), although that term seems equally applicable to a printer that supports CUPS.
References
*RFC 1179
ee also
*
Lp (Unix)
*LPRng
*Legacy printing
*Common Unix Printing System (CUPS)
*RLPR
*System V printing system
*print (command)
*Spooling
*Print server
*Application layer
*Foomatic External links
* [http://www.brooksnet.com/lpr-lpd-protocol.html?wiki LPD/LPR Protocol]
* [http://www.networkprinting.info/index.html?wiki Network Printing]
* [http://lpd.brooksnet.com/index.html?wiki LPD Software]
* [http://sdisw.com/LPD/ SDI LPD from SDI]
* [http://linux.about.com/library/cmd/blcmdl1_lpr-cups.htm LPR-CUPS] .
Wikimedia Foundation. 2010.