xref: /freebsd/usr.sbin/lpr/lpd/lpd.8 (revision 8a7b61203704d362cfbc66c00619f51b24106b55)
1dea673e9SRodney W. Grimes.\" Copyright (c) 1983, 1991, 1993
2dea673e9SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
3dea673e9SRodney W. Grimes.\"
4dea673e9SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
5dea673e9SRodney W. Grimes.\" modification, are permitted provided that the following conditions
6dea673e9SRodney W. Grimes.\" are met:
7dea673e9SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
8dea673e9SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
9dea673e9SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
10dea673e9SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
11dea673e9SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
12fbbd9655SWarner Losh.\" 3. Neither the name of the University nor the names of its contributors
13dea673e9SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
14dea673e9SRodney W. Grimes.\"    without specific prior written permission.
15dea673e9SRodney W. Grimes.\"
16dea673e9SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17dea673e9SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18dea673e9SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19dea673e9SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20dea673e9SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21dea673e9SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22dea673e9SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23dea673e9SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24dea673e9SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25dea673e9SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26dea673e9SRodney W. Grimes.\" SUCH DAMAGE.
27dea673e9SRodney W. Grimes.\"
2856b0f5f3SChris Rees.Dd April 15, 2021
29dea673e9SRodney W. Grimes.Dt LPD 8
30a4c37c81SRuslan Ermilov.Os
31dea673e9SRodney W. Grimes.Sh NAME
32dea673e9SRodney W. Grimes.Nm lpd
33dea673e9SRodney W. Grimes.Nd line printer spooler daemon
34dea673e9SRodney W. Grimes.Sh SYNOPSIS
35e97407b4SRuslan Ermilov.Nm
36cebcca89SChris Rees.Op Fl cdlpsFW46
37dea673e9SRodney W. Grimes.Op Ar port#
38dea673e9SRodney W. Grimes.Sh DESCRIPTION
39490d5836SPhilippe CharnierThe
40490d5836SPhilippe Charnier.Nm
41490d5836SPhilippe Charnierutility
42dea673e9SRodney W. Grimesis the line printer daemon (spool area handler) and is normally invoked
43dea673e9SRodney W. Grimesat boot time from the
44dea673e9SRodney W. Grimes.Xr rc 8
4507bfccd7SRuslan Ermilovfile.
4607bfccd7SRuslan ErmilovIt makes a single pass through the
47dea673e9SRodney W. Grimes.Xr printcap 5
48dea673e9SRodney W. Grimesfile to find out about the existing printers and
49f2e366a1SSheldon Hearnprints any files left after a crash.
50f2e366a1SSheldon HearnIt then uses the system calls
51dea673e9SRodney W. Grimes.Xr listen 2
52dea673e9SRodney W. Grimesand
53dea673e9SRodney W. Grimes.Xr accept 2
54dea673e9SRodney W. Grimesto receive requests to print files in the queue,
55dea673e9SRodney W. Grimestransfer files to the spooling area, display the queue,
5607bfccd7SRuslan Ermilovor remove jobs from the queue.
5707bfccd7SRuslan ErmilovIn each case, it forks a child to handle
58dea673e9SRodney W. Grimesthe request so the parent can continue to listen for more requests.
59dea673e9SRodney W. Grimes.Pp
60dea673e9SRodney W. GrimesAvailable options:
61dea673e9SRodney W. Grimes.Bl -tag -width Ds
626ddb63caSGarance A Drosehn.It Fl c
636ddb63caSGarance A DrosehnBy default, if some remote host has a connection error while trying to
646ddb63caSGarance A Drosehnsend a print request to
656ddb63caSGarance A Drosehn.Nm
666ddb63caSGarance A Drosehnon a local host,
676ddb63caSGarance A Drosehn.Nm
686ddb63caSGarance A Drosehnwill only send error message to that remote host.
696ddb63caSGarance A DrosehnThe
706ddb63caSGarance A Drosehn.Fl c
716ddb63caSGarance A Drosehnflag causes
726ddb63caSGarance A Drosehn.Nm
736ddb63caSGarance A Drosehnto also log all of those connection errors via
746ddb63caSGarance A Drosehn.Xr syslog 3 .
7536d0e2a3SJoerg Wunsch.It Fl d
7636d0e2a3SJoerg WunschTurn on
7736d0e2a3SJoerg Wunsch.Dv SO_DEBUG
7836d0e2a3SJoerg Wunschon the Internet listening socket (see
7936d0e2a3SJoerg Wunsch.Xr setsockopt 2 ) .
80dea673e9SRodney W. Grimes.It Fl l
81dea673e9SRodney W. GrimesThe
82dea673e9SRodney W. Grimes.Fl l
83dea673e9SRodney W. Grimesflag causes
849b3fe531SPhilippe Charnier.Nm
85f2e366a1SSheldon Hearnto log valid requests received from the network.
86f2e366a1SSheldon HearnThis can be useful
87dea673e9SRodney W. Grimesfor debugging purposes.
88ba901a11SSheldon Hearn.It Fl p
89ba901a11SSheldon HearnThe
90ba901a11SSheldon Hearn.Fl p
91c7e56d32SGarance A Drosehnflag is a synonym for the
92c7e56d32SGarance A Drosehn.Fl s
93c7e56d32SGarance A Drosehnflag.
94a4df5101SSheldon HearnIt is being deprecated, and may be removed in a
95c7e56d32SGarance A Drosehnfuture version of
96c7e56d32SGarance A Drosehn.Nm .
97c7e56d32SGarance A Drosehn.It Fl s
98c7e56d32SGarance A DrosehnThe
99c7e56d32SGarance A Drosehn.Fl s
100c7e56d32SGarance A Drosehn(secure) flag causes
101ba901a11SSheldon Hearn.Nm
102ba901a11SSheldon Hearnnot to open an Internet listening socket.
1036ddb63caSGarance A DrosehnThis means that
1046ddb63caSGarance A Drosehn.Nm
1056ddb63caSGarance A Drosehnwill not accept any connections from any remote
1066ddb63caSGarance A Drosehnhosts, although it will still accept print requests
1076ddb63caSGarance A Drosehnfrom all local users.
1083c636606SChris Rees.It Fl F
1093c636606SChris ReesBy default,
1103c636606SChris Rees.Nm
1113c636606SChris Reeswill daemonize into the background.
1123c636606SChris ReesThe
1133c636606SChris Rees.Fl F
1143c636606SChris Reesflag causes
1153c636606SChris Rees.Nm
1163c636606SChris Reesto remain in the foreground.
1173c636606SChris ReesLogging is still performed with
1183c636606SChris Rees.Xr syslog 3 .
119605d466bSGarance A Drosehn.It Fl W
1206ddb63caSGarance A DrosehnBy default, the
1216ddb63caSGarance A Drosehn.Nm
1226ddb63caSGarance A Drosehndaemon will only accept connections which originate
1236ddb63caSGarance A Drosehnfrom a reserved-port (<1024) on the remote host.
1246ddb63caSGarance A DrosehnThe
125605d466bSGarance A Drosehn.Fl W
1266ddb63caSGarance A Drosehnflag causes
1276ddb63caSGarance A Drosehn.Nm
1286ddb63caSGarance A Drosehnto accept connections coming from any port.
1296ddb63caSGarance A DrosehnThis is can be useful when you want to accept print jobs
1306ddb63caSGarance A Drosehnfrom certain implementations of lpr written for Windows.
13108829865SHajimu UMEMOTO.It Fl 4
13208829865SHajimu UMEMOTOInet only.
13308829865SHajimu UMEMOTO.It Fl 6
13408829865SHajimu UMEMOTOInet6 only.
13508829865SHajimu UMEMOTO.It Fl 46
13608829865SHajimu UMEMOTOInet and inet6 (default).
137dea673e9SRodney W. Grimes.It Ar "port#"
138dea673e9SRodney W. GrimesThe Internet port number used to rendezvous
139dea673e9SRodney W. Grimeswith other processes is normally obtained with
140dea673e9SRodney W. Grimes.Xr getservbyname 3
141dea673e9SRodney W. Grimesbut can be changed with the
142dea673e9SRodney W. Grimes.Ar port#
143dea673e9SRodney W. Grimesargument.
144dea673e9SRodney W. Grimes.El
145dea673e9SRodney W. Grimes.Pp
146f2e366a1SSheldon HearnAccess control is provided by two means.
147f2e366a1SSheldon HearnFirst, all requests must come from
148dea673e9SRodney W. Grimesone of the machines listed in the file
149dea673e9SRodney W. Grimes.Pa /etc/hosts.equiv
150dea673e9SRodney W. Grimesor
151dea673e9SRodney W. Grimes.Pa /etc/hosts.lpd .
152dea673e9SRodney W. GrimesSecond, if the
153dea673e9SRodney W. Grimes.Li rs
154dea673e9SRodney W. Grimescapability is specified in the
1558b5c4af3SRuslan Ermilov.Xr printcap 5
156dea673e9SRodney W. Grimesentry for the printer being accessed,
157dea673e9SRodney W. Grimes.Em lpr
158dea673e9SRodney W. Grimesrequests will only be honored for those users with accounts on the
159dea673e9SRodney W. Grimesmachine with the printer.
160dea673e9SRodney W. Grimes.Pp
161dea673e9SRodney W. GrimesThe file
162dea673e9SRodney W. Grimes.Em minfree
16344d8663dSWarren Blockin each spool directory contains the number of kilobytes to leave free
1640227791bSRuslan Ermilovso that the line printer queue will not completely fill the disk.
165dea673e9SRodney W. GrimesThe
166dea673e9SRodney W. Grimes.Em minfree
167dea673e9SRodney W. Grimesfile can be edited with your favorite text editor.
168dea673e9SRodney W. Grimes.Pp
169dea673e9SRodney W. GrimesThe daemon begins processing files
170dea673e9SRodney W. Grimesafter it has successfully set the lock for exclusive
171dea673e9SRodney W. Grimesaccess (described a bit later),
172dea673e9SRodney W. Grimesand scans the spool directory
173dea673e9SRodney W. Grimesfor files beginning with
174dea673e9SRodney W. Grimes.Em cf .
175dea673e9SRodney W. GrimesLines in each
176dea673e9SRodney W. Grimes.Em cf
177dea673e9SRodney W. Grimesfile specify files to be printed or non-printing actions to be
17807bfccd7SRuslan Ermilovperformed.
17907bfccd7SRuslan ErmilovEach such line begins with a key character
180dea673e9SRodney W. Grimesto specify what to do with the remainder of the line.
181dea673e9SRodney W. Grimes.Bl -tag -width Ds
182dea673e9SRodney W. Grimes.It J
18307bfccd7SRuslan ErmilovJob Name.
18407bfccd7SRuslan ErmilovString to be used for the job name on the burst page.
185dea673e9SRodney W. Grimes.It C
18607bfccd7SRuslan ErmilovClassification.
18707bfccd7SRuslan ErmilovString to be used for the classification line
188dea673e9SRodney W. Grimeson the burst page.
189dea673e9SRodney W. Grimes.It L
19007bfccd7SRuslan ErmilovLiteral.
19107bfccd7SRuslan ErmilovThe line contains identification info from
192dea673e9SRodney W. Grimesthe password file and causes the banner page to be printed.
193dea673e9SRodney W. Grimes.It T
19407bfccd7SRuslan ErmilovTitle.
19507bfccd7SRuslan ErmilovString to be used as the title for
196dea673e9SRodney W. Grimes.Xr pr 1 .
197dea673e9SRodney W. Grimes.It H
19807bfccd7SRuslan ErmilovHost Name.
19907bfccd7SRuslan ErmilovName of the machine where
200f84e4bb7SPhilippe Charnier.Xr lpr 1
201dea673e9SRodney W. Grimeswas invoked.
202dea673e9SRodney W. Grimes.It P
20307bfccd7SRuslan ErmilovPerson.
20407bfccd7SRuslan ErmilovLogin name of the person who invoked
205f84e4bb7SPhilippe Charnier.Xr lpr 1 .
206dea673e9SRodney W. GrimesThis is used to verify ownership by
207f84e4bb7SPhilippe Charnier.Xr lprm 1 .
208dea673e9SRodney W. Grimes.It M
209dea673e9SRodney W. GrimesSend mail to the specified user when the current print job completes.
210dea673e9SRodney W. Grimes.It f
21107bfccd7SRuslan ErmilovFormatted File.
21207bfccd7SRuslan ErmilovName of a file to print which is already formatted.
213dea673e9SRodney W. Grimes.It l
214dea673e9SRodney W. GrimesLike ``f'' but passes control characters and does not make page breaks.
215dea673e9SRodney W. Grimes.It p
216dea673e9SRodney W. GrimesName of a file to print using
217dea673e9SRodney W. Grimes.Xr pr 1
218dea673e9SRodney W. Grimesas a filter.
219dea673e9SRodney W. Grimes.It t
22007bfccd7SRuslan ErmilovTroff File.
22107bfccd7SRuslan ErmilovThe file contains
222*20f68c5fSJens Schweikhardt.Xr troff 1 Pq Pa ports/textproc/groff
223dea673e9SRodney W. Grimesoutput (cat phototypesetter commands).
224dea673e9SRodney W. Grimes.It n
22507bfccd7SRuslan ErmilovDitroff File.
22607bfccd7SRuslan ErmilovThe file contains device independent troff
227dea673e9SRodney W. Grimesoutput.
228dea673e9SRodney W. Grimes.It r
22907bfccd7SRuslan ErmilovDVI File.
23007bfccd7SRuslan ErmilovThe file contains
231dea673e9SRodney W. Grimes.Tn Tex l
232dea673e9SRodney W. Grimesoutput
23357bd0fc6SJens SchweikhardtDVI format from Stanford.
234dea673e9SRodney W. Grimes.It g
23507bfccd7SRuslan ErmilovGraph File.
23607bfccd7SRuslan ErmilovThe file contains data produced by
237dea673e9SRodney W. Grimes.Xr plot 3 .
238dea673e9SRodney W. Grimes.It c
239f2e366a1SSheldon HearnCifplot File.
240f2e366a1SSheldon HearnThe file contains data produced by
241dea673e9SRodney W. Grimes.Em cifplot .
242dea673e9SRodney W. Grimes.It v
243dea673e9SRodney W. GrimesThe file contains a raster image.
244dea673e9SRodney W. Grimes.It r
245dea673e9SRodney W. GrimesThe file contains text data with
246dea673e9SRodney W. GrimesFORTRAN carriage control characters.
247dea673e9SRodney W. Grimes.It \&1
24807bfccd7SRuslan ErmilovTroff Font R.
24907bfccd7SRuslan ErmilovName of the font file to use instead of the default.
250dea673e9SRodney W. Grimes.It \&2
25107bfccd7SRuslan ErmilovTroff Font I.
25207bfccd7SRuslan ErmilovName of the font file to use instead of the default.
253dea673e9SRodney W. Grimes.It \&3
25407bfccd7SRuslan ErmilovTroff Font B.
25507bfccd7SRuslan ErmilovName of the font file to use instead of the default.
256dea673e9SRodney W. Grimes.It \&4
25707bfccd7SRuslan ErmilovTroff Font S.
25807bfccd7SRuslan ErmilovName of the font file to use instead of the default.
259dea673e9SRodney W. Grimes.It W
260f2e366a1SSheldon HearnWidth.
261f2e366a1SSheldon HearnChanges the page width (in characters) used by
262dea673e9SRodney W. Grimes.Xr pr 1
263dea673e9SRodney W. Grimesand the text filters.
264dea673e9SRodney W. Grimes.It I
26507bfccd7SRuslan ErmilovIndent.
26607bfccd7SRuslan ErmilovThe number of characters to indent the output by (in ASCII).
267dea673e9SRodney W. Grimes.It U
26807bfccd7SRuslan ErmilovUnlink.
26907bfccd7SRuslan ErmilovName of file to remove upon completion of printing.
270dea673e9SRodney W. Grimes.It N
27107bfccd7SRuslan ErmilovFile name.
27207bfccd7SRuslan ErmilovThe name of the file which is being printed, or a blank
273dea673e9SRodney W. Grimesfor the standard input (when
274f84e4bb7SPhilippe Charnier.Xr lpr 1
275dea673e9SRodney W. Grimesis invoked in a pipeline).
276d3d56c3dSAndrey A. Chernov.It Z
27707bfccd7SRuslan ErmilovLocale.
27807bfccd7SRuslan ErmilovString to be used as the locale for
279d3d56c3dSAndrey A. Chernov.Xr pr 1 .
280dea673e9SRodney W. Grimes.El
281dea673e9SRodney W. Grimes.Pp
282dea673e9SRodney W. GrimesIf a file cannot be opened, a message will be logged via
283dea673e9SRodney W. Grimes.Xr syslog 3
284dea673e9SRodney W. Grimesusing the
285dea673e9SRodney W. Grimes.Em LOG_LPR
286dea673e9SRodney W. Grimesfacility.
287490d5836SPhilippe CharnierThe
288490d5836SPhilippe Charnier.Nm
289490d5836SPhilippe Charnierutility will try up to 20 times
290dea673e9SRodney W. Grimesto reopen a file it expects to be there, after which it will
291dea673e9SRodney W. Grimesskip the file to be printed.
292dea673e9SRodney W. Grimes.Pp
293490d5836SPhilippe CharnierThe
294490d5836SPhilippe Charnier.Nm
295490d5836SPhilippe Charnierutility uses
296dea673e9SRodney W. Grimes.Xr flock 2
297dea673e9SRodney W. Grimesto provide exclusive access to the lock file and to prevent multiple
29807bfccd7SRuslan Ermilovdaemons from becoming active simultaneously.
29907bfccd7SRuslan ErmilovIf the daemon should be killed
300dea673e9SRodney W. Grimesor die unexpectedly, the lock file need not be removed.
301dea673e9SRodney W. GrimesThe lock file is kept in a readable
302dea673e9SRodney W. Grimes.Tn ASCII
303dea673e9SRodney W. Grimesform
304dea673e9SRodney W. Grimesand contains two lines.
305dea673e9SRodney W. GrimesThe first is the process id of the daemon and the second is the control
30607bfccd7SRuslan Ermilovfile name of the current job being printed.
30707bfccd7SRuslan ErmilovThe second line is updated to
308dea673e9SRodney W. Grimesreflect the current status of
3099b3fe531SPhilippe Charnier.Nm
310dea673e9SRodney W. Grimesfor the programs
311dea673e9SRodney W. Grimes.Xr lpq 1
312dea673e9SRodney W. Grimesand
313dea673e9SRodney W. Grimes.Xr lprm 1 .
314dea673e9SRodney W. Grimes.Sh FILES
315dea673e9SRodney W. Grimes.Bl -tag -width "/var/spool/*/minfree" -compact
316dea673e9SRodney W. Grimes.It Pa /etc/printcap
317dea673e9SRodney W. Grimesprinter description file
318dea673e9SRodney W. Grimes.It Pa /var/spool/*
319dea673e9SRodney W. Grimesspool directories
320dea673e9SRodney W. Grimes.It Pa /var/spool/*/minfree
321dea673e9SRodney W. Grimesminimum free space to leave
322dea673e9SRodney W. Grimes.It Pa /dev/lp*
323dea673e9SRodney W. Grimesline printer devices
32486c7d890SAndreas Schulz.It Pa /var/run/printer
325dea673e9SRodney W. Grimessocket for local requests
326dea673e9SRodney W. Grimes.It Pa /etc/hosts.equiv
327dea673e9SRodney W. Grimeslists machine names allowed printer access
328dea673e9SRodney W. Grimes.It Pa /etc/hosts.lpd
329dea673e9SRodney W. Grimeslists machine names allowed printer access,
330dea673e9SRodney W. Grimesbut not under same administrative control.
331dea673e9SRodney W. Grimes.El
332dea673e9SRodney W. Grimes.Sh SEE ALSO
333dea673e9SRodney W. Grimes.Xr lpq 1 ,
334bfd34a4aSWolfram Schneider.Xr lpr 1 ,
335dea673e9SRodney W. Grimes.Xr lprm 1 ,
33636d0e2a3SJoerg Wunsch.Xr setsockopt 2 ,
337dea673e9SRodney W. Grimes.Xr syslog 3 ,
338bfd34a4aSWolfram Schneider.Xr hosts.lpd 5 ,
33978b0b234SMike Pritchard.Xr printcap 5 ,
3404d39e5f9SGarance A Drosehn.Xr chkprintcap 8 ,
34178b0b234SMike Pritchard.Xr lpc 8 ,
34278b0b234SMike Pritchard.Xr pac 8
343dea673e9SRodney W. Grimes.Rs
344c07aa0a5SGordon Bergling.\" 4.4BSD SMM:7
345c07aa0a5SGordon Bergling.%A Ralph Campbell
346dea673e9SRodney W. Grimes.%T "4.2 BSD Line Printer Spooler Manual"
347dea673e9SRodney W. Grimes.Re
348dea673e9SRodney W. Grimes.Sh HISTORY
349dea673e9SRodney W. GrimesAn
350dea673e9SRodney W. Grimes.Nm
351dea673e9SRodney W. Grimesdaemon appeared in Version 6 AT&T UNIX.
352