Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
LPD(8)			  BSD System Manager's Manual			LPD(8)

     lpd -- line printer spooler daemon

     lpd [-cdlpsW46] [port#]

     The lpd utility is	the line printer daemon	(spool area handler) and is
     normally invoked at boot time from	the rc(8) file.	 It makes a single
     pass through the printcap(5) file to find out about the existing printers
     and prints	any files left after a crash.  It then uses the	system calls
     listen(2) and accept(2) to	receive	requests to print files	in the queue,
     transfer files to the spooling area, display the queue, or	remove jobs
     from the queue.  In each case, it forks a child to	handle the request so
     the parent	can continue to	listen for more	requests.

     Available options:

     -c	     By	default, if some remote	host has a connection error while try-
	     ing to send a print request to lpd	on a local host, lpd will only
	     send error	message	to that	remote host.  The -c flag causes lpd
	     to	also log all of	those connection errors	via syslog(3).

     -d	     Turn on SO_DEBUG on the Internet listening	socket (see

     -l	     The -l flag causes	lpd to log valid requests received from	the
	     network.  This can	be useful for debugging	purposes.

     -p	     The -p flag is a synonym for the -s flag.	It is being depre-
	     cated, and	may be removed in a future version of lpd.

     -s	     The -s (secure) flag causes lpd not to open an Internet listening
	     socket.  This means that lpd will not accept any connections from
	     any remote	hosts, although	it will	still accept print requests
	     from all local users.

     -W	     By	default, the lpd daemon	will only accept connections which
	     originate from a reserved-port (<1024) on the remote host.	 The
	     -W	flag causes lpd	to accept connections coming from any port.
	     This is can be useful when	you want to accept print jobs from
	     certain implementations of	lpr written for	Windows.

     -4	     Inet only.

     -6	     Inet6 only.

     -46     Inet and inet6 (default).

     port#   The Internet port number used to rendezvous with other processes
	     is	normally obtained with getservbyname(3)	but can	be changed
	     with the port# argument.

     Access control is provided	by two means.  First, all requests must	come
     from one of the machines listed in	the file /etc/hosts.equiv or
     /etc/hosts.lpd.  Second, if the rs	capability is specified	in the
     printcap(5) entry for the printer being accessed, lpr requests will only
     be	honored	for those users	with accounts on the machine with the printer.

     The file minfree in each spool directory contains the number of disk
     blocks to leave free so that the line printer queue won't completely fill
     the disk.	The minfree file can be	edited with your favorite text editor.

     The daemon	begins processing files	after it has successfully set the lock
     for exclusive access (described a bit later), and scans the spool direc-
     tory for files beginning with cf.	Lines in each cf file specify files to
     be	printed	or non-printing	actions	to be performed.  Each such line be-
     gins with a key character to specify what to do with the remainder	of the

     J	     Job Name.	String to be used for the job name on the burst	page.

     C	     Classification.  String to	be used	for the	classification line on
	     the burst page.

     L	     Literal.  The line	contains identification	info from the password
	     file and causes the banner	page to	be printed.

     T	     Title.  String to be used as the title for	pr(1).

     H	     Host Name.	 Name of the machine where lpr(1) was invoked.

     P	     Person.  Login name of the	person who invoked lpr(1).  This is
	     used to verify ownership by lprm(1).

     M	     Send mail to the specified	user when the current print job	com-

     f	     Formatted File.  Name of a	file to	print which is already format-

     l	     Like ``f''	but passes control characters and does not make	page

     p	     Name of a file to print using pr(1) as a filter.

     t	     Troff File.  The file contains troff(1) output (cat phototypeset-
	     ter commands).

     n	     Ditroff File.  The	file contains device independent troff output.

     r	     DVI File.	The file contains Tex l	output DVI format from Stan-

     g	     Graph File.  The file contains data produced by plot(3).

     c	     Cifplot File.  The	file contains data produced by cifplot.

     v	     The file contains a raster	image.

     r	     The file contains text data with FORTRAN carriage control charac-

     1	     Troff Font	R.  Name of the	font file to use instead of the	de-

     2	     Troff Font	I.  Name of the	font file to use instead of the	de-

     3	     Troff Font	B.  Name of the	font file to use instead of the	de-

     4	     Troff Font	S.  Name of the	font file to use instead of the	de-

     W	     Width.  Changes the page width (in	characters) used by pr(1) and
	     the text filters.

     I	     Indent.  The number of characters to indent the output by (in

     U	     Unlink.  Name of file to remove upon completion of	printing.

     N	     File name.	 The name of the file which is being printed, or a
	     blank for the standard input (when	lpr(1) is invoked in a pipe-

     Z	     Locale.  String to	be used	as the locale for pr(1).

     If	a file cannot be opened, a message will	be logged via syslog(3)	using
     the LOG_LPR facility.  The	lpd utility will try up	to 20 times to reopen
     a file it expects to be there, after which	it will	skip the file to be

     The lpd utility uses flock(2) to provide exclusive	access to the lock
     file and to prevent multiple daemons from becoming	active simultaneously.
     If	the daemon should be killed or die unexpectedly, the lock file need
     not be removed.  The lock file is kept in a readable ASCII	form and con-
     tains two lines.  The first is the	process	id of the daemon and the sec-
     ond is the	control	file name of the current job being printed.  The sec-
     ond line is updated to reflect the	current	status of lpd for the programs
     lpq(1) and	lprm(1).

     /etc/printcap	   printer description file
     /var/spool/*	   spool directories
     /var/spool/*/minfree  minimum free	space to leave
     /dev/lp*		   line	printer	devices
     /var/run/printer	   socket for local requests
     /etc/hosts.equiv	   lists machine names allowed printer access
     /etc/hosts.lpd	   lists machine names allowed printer access, but not
			   under same administrative control.

     lpq(1), lpr(1), lprm(1), setsockopt(2), syslog(3),	hosts.lpd(5),
     printcap(5), chkprintcap(8), lpc(8), pac(8)

     4.2 BSD Line Printer Spooler Manual.

     An	lpd daemon appeared in Version 6 AT&T UNIX.

BSD				 June 6, 2001				   BSD


Want to link to this manual page? Use this URL:

home | help