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