Line Printer Daemon protocol: Difference between revisions

Content deleted Content added
Ferdilouw (talk | contribs)
m Commands: listens on TCP port 515.
m format RFCs
 
(75 intermediate revisions by 56 users not shown)
Line 1:
{{Short description|Network printing 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 network [[print server]] functionality for [[Unix-like]] systems. The most common implementations of LPD are the official [[BSD]] UNIX operating system and the [[LPRng]] project. The [[Common Unix Printing System]] (or CUPS), which is more common on modern [[Linux]] distributions, borrows heavily from LPD but implements [[Internet Printing Protocol|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.
{{Infobox networking protocol
[[ru:|title=Line Printer Daemon]]
|purpose=Submitting print jobs to a remote printer
|rfcs={{IETF RFC|1179|plainlink=yes}}
|ports=515
|date={{Start date and age|1983}}
|based on=[[Berkeley printing system]]
}}
 
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 providenetwork [[printerprinting spoolingprotocol]] andfor networksubmitting [[print server]]jobs functionalityto fora [[Unix-like]]remote systemsprinter. The most commonoriginal implementationsimplementation of LPD arewas in the official[[Berkeley printing system]] in the [[BSD]] [[UNIX]] operating system and; the [[LPRng]] project also supports that protocol. The [[Common Unix Printing System]] (or CUPS), which is more common on modern [[Linux]] distributions, borrowsand heavilyalso fromfound on [[macOS]], supports LPD butas implementswell as the [[Internet Printing Protocol|Internet Printing Protocol (IPP)]]. Commercial solutions are available that also leverageuse 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.{{Ref McLaughlin III.RFC|1179}}
==Commands==
==Usage ==
The official LPD protocol defines the following commands:
A server for the LPD protocol listens for requests on TCP port 515.{{Ref RFC|1179}} A request begins with a byte containing the request code, followed by the arguments to the request, and is terminated by an ASCII [[Newline|LF]] character.
*<tt>lpr</tt>&mdash;Assign a job to a queue.
*<tt>lpq</tt>&mdash;Display the jobs assigned to a queue and their print status.
*<tt>lprm</tt>&mdash;Remove a job from a queue.
*<tt>lpc</tt>&mdash;Control a queue.
The <tt>lpd</tt> program provides the [[daemon (computer software)|daemon]] and queues with which the aforementioned commands interface.
LPD always listens on TCP port 515 in standard implementations.
 
An LPD printer is identified by the [[IP address]] of the server machine and the queue name on that machine. 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 have 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.<ref>[http://gpvno.co.za/ Winet]'s InetLPD server documentation.</ref>
==Usage==
In order for a system to provide print functionality using <tt><b>LPD</b></tt>, the <tt>lpd</tt> 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 from the <tt>lpr</tt>, <tt>lpq</tt>, <tt>lprm</tt>, and <tt>lpc</tt> programs, as well as for network messages from remote clients who also implement the LPD protocol.
 
A printer that supports LPD/LPR is sometimes referred to as a "TCP/IP printer" ([[Internet protocol suite|TCP/IP]] is used to establish connections between printers and workstationsclients on a network), although that term seemswould be equally applicable to a printer that supports CUPSthe [[Internet Printing Protocol]].
 
==ReferencesSee also ==
*RFC 1179
 
==See also==
 
*[[Lp (Unix)]]
Line 24 ⟶ 23:
*[[Legacy printing]]
*[[Common Unix Printing System|Common Unix Printing System (CUPS)]]
*[[RLPR]]
*[[System V printing system]]
*[[print (command)]]
*[[Spooling]]
*[[Print server]]
Line 32 ⟶ 29:
*[[Foomatic]]
 
==ExternalReferences links==
{{Reflist}}
*[http://www.brooksnet.com/lpr-lpd-protocol.html?wiki LPD/LPR Protocol]
 
*[http://www.networkprinting.info/index.html?wiki Network Printing]
==External links ==
*[http://lpd.brooksnet.com/index.html?wiki LPD Software]
* [https://www.freebsd.org/cgi/man.cgi?query=lpd&sektion=8 FreeBSD LPD Man Page]
*[http://sdisw.com/LPD/ SDI LPD from SDI]
*[http://linux.about.com/library/cmd/blcmdl1_lpr-cups.htm LPR-CUPS].
 
[[Category:Unix]]
[[Category:Network protocols]]
[[Category:Computer printing]]
[[Category:NetworkPrinting protocols]]
[[Category:Unix]]
 
{{Network-software-stub}}
[[de:Berkeley Printing System]]
[[ru:Line Printer Daemon]]