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

FreeBSD Manual Pages


home | help
LPD.CONF(5)		      File Formats Manual		   LPD.CONF(5)

       lpd.conf	- configuration	file for the LPRng line	printer	spooler	system

       The  file lpd.conf is used to provide configuration information for the
       LPRng Printer spooler system and	 defaults  for	printcap  information.
       Leading	spaces	on  lines are ignored, and blank lines and lines whose
       first nonblank character	is a  sharp  (``#'')  are  ignored.   Trailing
       blanks and tabs (whitespace) for	an option value	are deleted unless the
       last one	is escaped with	a backslash (``\'').  All other	lines  specify
       parameters and should be	of the following form:
       Note that these values are the same format as printcap(5) values.  Val-
       ues in the configuration	can contain host or machine dependent informa-
       tion;  to  assist with this, the	following escape sequences in the con-
       figuration information are replaced as follows:

       %h     the short	form of	the host name (i.e.- non fully qualified).

       %H     the fully	qualified host name.

       %a     the abbreviated architecture name, sun4, sol2, hpux, aix,	irix5,
	      etc.   This  value  can be set using the architecture keyword in
	      the configuration	file and is set	to a  default  value  at  com-

       %P     the printer name from the	printcap entry (see below).

       %R     the remote printer name from the printcap	entry.

       %M     the remote host name from	the printcap entry.  This is truncated
	      to the short host	name.

       For example, on host,  the  strings  short=%h  long=%H
       arch=%a	 would	be  expanded  as  short=dickory
       arch=sun4 .

       The P, R, and M tags are	provided for use with  combined	 configuration
       and  printcap  information.   These  values  are	 not expanded when the
       printcap	information is initially processed, and	can be used only in  a
       limited number of printcap or other entries.  Currently only the	print-
       cap :sd:	(spool directory) and :forward_server:	(forward  server)  en-
       tries use these.

       Some  of	 the  following	parameters take	lists of files or directories.
       Unless otherwise	explicitly stated, these lists	can  be	 separated  by
       commas  (,), semicolons (;), or colons, (punctuation) and possibly tabs
       or spaces (whitespace) as well.

       Keyword names can use either underscores	(_) or hyphens	(-)  in	 their
       names, but the underscore is preferred.

       include pathname	[pathname*] (no	default)
	      This  can	 be used to include files into the lpd.conf file.  The
	      include file parameter a whitespace separated list of files; the
	      files must have absolute pathnames and must be readable.

       ae (default: "jobend $H $n $P $k	$b $t")
	      This  specifies either a script or a filter to be	invoked	at the
	      send of a	job for	accounting purposes.  See as for the  matching
	      accounting  at  start,  and the printcap(5) and lpd(8) man pages
	      for details.

       allow_getenv (default: "LPD_CONF")
	      This option specifies an environment variable whose value	 is  a
	      configuration file.  Use of this is restricted to	test purposes,
	      and SUID ROOT client and server will not run when	 the  variable
	      is enabled.

       ar (default: yes)
	      See printcap(5) for details.

	      The  default value is set	at compile time	and can	be overwritten
	      with this	parameter.  The	default	value of this parameter	is set
	      at  compile  time	 and it	is used	when expanding the special se-
	      quence %a	in pathname and	filename strings in this config	file.

       auth (default: NULL)
	      Authentication type to be	used for client	to  server  communica-

       auth_client_filter (default: NULL)
	      Program to be used for client to server communication.

       auth_forward (default: NULL)
	      Authentication  type  to be used for server to server communica-

       auth_forward_filter (default: NULL)
	      Program to be used for server to server communication.

       auth_forward_id (default: NULL)
	      Authentication id	of remote server for server to server communi-

       auth_receive_filter (default: NULL)
	      Program to be used by server receive server or client communica-

       auth_server_id (default:	NULL)
	      Authentication id	of originating client or server.

       as (default: "jobstart $H $n $P $k $b $t")
	      See as.

       bk (default: no)
	      See printcap(5) for details.

	      (default:	"$P $w $l $x $y	$F $c $L $i $J $C $0n $0h $-a")	If the
	      "bkf" (backwards compatible filter) flags	is set in the printcap
	      entry and	the original filter specification does not have	a  `$`
	      in it, this option string	is appended to a filter	specification,
	      and the string expanded with values from the  printcap  informa-
	      tion  and	 job  information.  (see of_filter_options, filter_op-
	      tions, bk_filter_options,	bk_of_filter_options)

	      (default:	"$w $l $x $y") If the "bkf" (backwards compatible fil-
	      ter)  flags is set in the	printcap entry and the original	filter
	      specification does not have a `$`	in it, this option  string  is
	      appended to the OF filter	specification, and the string expanded
	      with values from the printcap information	and  job  information.
	      (see   of_filter_options,	  filter_options,   bk_filter_options,

       check_for_nonprintable (default:	"")
	      (Used by LPR) check f and	p formats for non_printable characters
	      unless  -b  (binary) or -l (literal) command_line	option is sup-
	      plied. Note that files containing	HPGL or	other printer  control
	      languages	would often be classed as ``non_printable''.

       connect_grace (default: 0 seconds)
	      The  time	to pause before	opening	a new connection to a printer.
	      This allows the printer time to recover from the previous	job.

       connect_interval	(default: 10 (seconds))
	      The time to pause	after a	 failed	 connection  or	 open  of  the
	      printing device before attempting	a new connection or open.

       connect_timeout (default: 10 (seconds))
	      The time to wait for a device open or connection to complete.  A
	      zero value is infinite timeout.

       retry_nolink (default: true)
	      When TRUE	and the	LPD server is printing or transferring a  job,
	      then  an indefinite number of attempts to	connect	to or open the
	      IO device	will be	made.

       default_banner_printer (default:	"")
	      The default banner printer program to be used for	printing  ban-
	      ners.  This should be specified in the LPD configuration file.

       default_format (default:	"f")
	      Default format for printing jobs.

	      (default:	 2001)	specifies a default port number	for logger in-
	      formation.  See logger_destination for details.

	      (default:	UDP) specifies a default protocol for logger  informa-
	      tion.  See logger_destination for	details.

       default_permission (default: ACCEPT)
	      Default permission for operations.

       default_printer (default: "")
	      The  default  printer  to	use if there is	no PRINTER environment
	      variable,	the user has not specified a printer, or there	is  no
	      printcap information.

       default_priority	(default: "A")
	      Default  priority	 (class) for printing jobs.  This is also used
	      as the job class.

       default_remote_host (default: "%H")
	      The default remote host to use.

       default_tmp_dir (default: /tmp)
	      Directory	for temporary files.

       domain_name (default: "")
	      This parameter is	optional, and is appended to the  hostname  to
	      make  it	into a fully_qualified domain name, ie.
	      It will only be used if the software cannot determine the	domain
	      name using other means, such as gethostbyname(3n).

       ff (default: \f)
	      Formfeed string.

	      (default:	   /usr/local/lib:/lib:/usr/lib://usr/local/lib)   The
	      value for	the environment	variable  LD_LIBRARY_PATH,  both  used
	      when executing, and passed on to filters.	 This variable is used
	      to find shared libraries on SunOS, Solaris and Linux.

	      (default:	"$C $F $H $J $L	$P $Q $R $Z $a $c $d $e	$f $h $i $j $k
	      $l $n $p $r $s $w	$x $y $-a") If the "bkf" (backwards compatible
	      filter) flags is not set in the printcap entry and the  original
	      filter  specification  does  not	have  a	`$` in it, this	option
	      string is	appended to a filter specification, and	the string ex-
	      panded  with values from the printcap information	and job	infor-
	      mation.  (see of_filter_options,	filter_options,	 bk_filter_op-
	      tions, bk_of_filter_options)

	      (default:			 /usr/local/bin:/bin:/usr/bin:/usr/lo-
	      cal/sbin:/sbin:/usr/sbin)	The value for the environment variable
	      PATH,  both used to find filters and passed on to	filters	run by
	      lpd and lpr.

       force_poll (default: no)
	      Some software packages put print jobs directly  into  the	 spool
	      queues.	The  force_poll	 flag  forces lpd to periodically poll
	      spool queues looking for jobs  and  no  server.	The  poll_time
	      variable sets the	interval between polls.

       full_time (default: no)
	      Use full time and	date format in logging and error messages.

       fx (default: "")
	      See printcap(5) for details.  This specifies the job formats al-
	      lowed for	this queue.

       group (default "daemon")
	      The group	to use for file	 ownership  and	 process  permissions.
	      Used  only  by lpd; this can be the name of a group or a number.
	      All filters will run as the specified group.  Note that  if  the
	      group  value  is	0,  then the real user group of	the process at
	      startup will be used.

       kerberos_keytab (default	"/etc/lpd.keytab")
	      The keytab file to be used by the	LPD server when	using built-in
	      kerberos authentication.	The keytab file	should be owned	by the
	      LPD server, and be readable/writable only	by it (i.e. - 600 per-

       kerberos_life (default NULL)
	      The  lifetime  of	 a  Kerberos ticket.  NULL selects the default
	      lifetime.	 Time should be	specified using	the standard  Kerberos
	      time representations.

       kerberos_forward_principal (default NULL)
	      remote principal used by server when forwarding

       kerberos_renew (default NULL)
	      The  renewal of a	Kerberos ticket.  NULL selects a non-renewable
	      ticket.  Time should be specified	using  the  standard  Kerberos
	      time representations.

       kerberos_server_principal (default "lpr")
	      Server  principal	 used  when  client  sending to	server or when
	      server is	originating connection to another server for  forward-

       kerberos_service	(default "lpr")
	      The  service  name  used to make requests	to the LPD server when
	      using kerberos authentication.  For example, if kerberos_service
	      has the value lpr, the server is on host, and the ker-
	      beros domain is ALPHA.COM,  then	the  kerberos  principal  name
	      would be:

       la (default: yes)
	      See printcap(5) for details.

       lf (default: log)
	      Name of the log file.

       lo (default: lock)
	      Name of the lock file.

	      (default "localhost") The	name of	the localhost entry to be used
	      for the TCP/IP loopback interface.  The  TCP/IP  connection  may
	      originate	 from the local	host; use this name to check to	see if
	      the local	host address is	in the IP address database, and	use it
	      as  the origination address for local connections.  This is done
	      to avoid problems	with multi-homed hosts who  originate  connec-
	      tions from different interfaces.

       lockfile	(default: /var/spool/lpd/lpd)
	      The  file	used to	indicate the presence of an lpd	server running
	      on the host.  The	lpd_port value is  appended  to	 the  lockfile
	      value  to	provide	a unique lockfile even when different versions
	      of LPRng are running on the same system.

	      (default:	"") This specifies a destination for  logger  informa-
	      tion generated by	the lpd	server.	 The formation of the destina-
	      tion specification is host[%port][,(TCP|UDP)].  For example, lo-
	      calhost%2001,UDP	would send logger information to the localhost
	      IP address, on port 2001 using the UPD  protocol.	  The  default
	      port  and	 protocol  are	set by the default_logger_port and de-
	      fault_logger_protocol configuration variables respectively.

	      (default:	no) RFC1179 requires  3	 digit	job  numbers;  setting
	      longnumber to yes	allows 6 digit numbers.	 If the	backwards_com-
	      patible flag is set, only	3 digit	numbers	will be	used.

       lpd_listen_port (default: =515) [ipaddr%]port
	      The port that lpd	binds to.  If the parameter is set to off then
	      lpd  does	 not listen to any TCP port.  See lpd_port for details
	      of the format of the argument.

	      If this is not set at all, then lpdP will	listen on lpd_port.

       lpd_port	(default: printer)  [ipaddr%]port
	      The port that lpr	and the	other client programs send  their  re-
	      quests  to.   The	 specification has the format ipaddr%port.  If
	      the IP address is	specified then a bind to only this address and
	      port  is	done.	If  the	 port  value is	not a number a service
	      lookup is	performed and the corresponding	service	port is	 used;
	      see  services(5).	  This parameter is useful for debugging a new
	      installation of LPRng, in	that running LPRng on a	different port
	      from the default will not	interfere with a previous installation
	      of LPD or	LPRng.

       lpd_printcap_path (default: "")
	      The location of lpd server only printcap	database  information.
	      If  this	is nonblank the	printcap_pathP will not	be used	by the
	      lpd server.

       mail_operator_on_error (default:	"")
	      Put this person on the CC-list of	the mail, if it	is not a  suc-
	      cess  mail.  (So	in addition to the person who made the printer
	      request, also this person	gets error messages,  but  no  success

       max_status_line (default: 79)
	      An integer value specifying the numbers of characters to be used
	      for displaying simple job	status;	 this includes the queue posi-
	      tion, job	identifier,  job contents, size, and time.  A 0	(zero)
	      value indicates no restrictions.

       max_status_size (default: 10 (Kbytes))
	      An integer value specifying (in K	bytes) the maximum size	of the
	      status  file  to	be  generated during printing operations.  A 0
	      value will create	unlimited size status files.   When  the  file
	      size  exceeds  this  value, it is	truncated to min_status_size K

       mc (default: 1)
	      See printcap(5) for details.

       min_status_size (default: 0 (Kbytes))
	      Minimum status size.  If 0, defaults to 20 percent  of  max_sta-

       minfree (default: 0)
	      The  amount of free space	(in Kbytes) needed in the spool	direc-
	      tory in order for	a job to be  accepted.	 If  0,	 there	is  no
	      limit; if	the parameter is the name of a file rather than	a num-
	      ber, the file must contain a numerical minimum  free  value  (in
	      Kbytes).	 This  value  is  overridden  by the printcap mi field

	      (default:	FALSE) This flag causes	the  time  information	to  be
	      printed to millisecond accuracy.	This is	overkill for most pur-

	      (default:	"") If this is not set,	the value defaults to the same
	      as  the  filter_options  value.  This string is appended to a OF
	      filter specification, and	the string expanded with  values  from
	      the  printcap  information  and  job  information.  If the "bkf"
	      (backwards compatible filter) flags is set in the	 printcap  en-
	      try,  of	bk_of_filter_options  value  is	 appended instead (see
	      of_filter_options, filter_options, bk_filter_options, bk_of_fil-

	      (default:	 "721  731")  A	range of port numbers to originate re-
	      quests from.  When sending service requests, the	software  will
	      try  to open and bind to these ports to originate	a request to a
	      server.  If no port is given, or all of the requested ports  are
	      unavailable or cannot be bound to, then a	normal use port	is re-
	      quested.	Note that on UNIX systems, if  a  port	in  the	 range
	      0-1023 is	requested the EUID of the process must be root for the
	      request to be granted.  Note that	 RFC1179  specifies  that  re-
	      quests must originate from ports in the range 721-731.


	      Client programs such as LPR, LPC,	etc., will pass	these environ-
	      ment variables to	any filter programs they start.

       poll_time (default: 6000)
	      Interval in seconds at which LPD checks for queues with jobs and
	      no server	active.	 See force_poll	as well.

       pl (default: 66)
	      See printcap(5) for details.

       pr (default: /bin/pr)
	      See printcap(5) for details.

	      (default:	"/etc/printcap") The location of the printcap database
	      file.  If	a file or filter does not exist, it  is	 considered  a
	      fatal  error.   All  valid  entries in these files will be used.
	      See PRINTCAP LOOKUP for details.

	      (default:	/etc/lpd.perms:/usr/etc/lpd.perms:

	      The  location of the printer permissions database.  If a file or
	      filter does not exist, it	is skipped.  The first file or	filter
	      that  exists  and	 is  readable  will  be	used.  See PERMISSIONS
	      LOOKUP for details.

       pw (default: 80)
	      See printcap(5) for details.

	      (default:	no) Save a job in the spool queue if it	has  an	 error
	      rather than removing it.

	      (default:	 no)  Save  a  job in the spool	queue after completion
	      rather than removing it.

	      (default:	no) Send data files of a job first,  followed  by  the
	      control file.

       send_failure_action (default: "")
	      The  lpd	server	uses this to determine the action to take when
	      unable to	print or process a job.	 The keyword abort will	 cause
	      it to terminate operations, leaving the job in the queue,	remove
	      will cause it to remove the job, retry will cause	 it  to	 retry
	      the  job,	 and  hold will	cause it to hold the job with an error
	      indication.  If the value	is a filter, then the filter  will  be
	      invoked  and the exit status of the filter used to determine the

       send_job_rw_timeout (default: 6000)
	      When printing or sending a job to	a remote printer, use this  as
	      a	 write to the device or	remote host timeout value.  If a time-
	      out occurs, then a FAIL status is	returned  and  the  send_fail-
	      ure_action value is used to determine what to do on failure.

       send_try	(default: 3)
	      Numbers  of  times to try	to send	a job to the printer or	remote
	      host.  A 0 value means an	infinite number	of times.

       sendmail	(default: "/usr/lib/sendmail -oi -t")
	      If the argument is empty then all	mail_related functionality  is
	      disabled.	  The arguments	are the	command	to run when mail is to
	      be sent.	The command used needs to be able to accept  the  mes-
	      sage  on stdin, with no arguments.  The message will contain the
	      To:, From:, Cc: and Subject: headers.

       server_tmp_dir (default:	/tmp)
	      Temporary	dir for	the server.

       spool_dir_perms (default: 042700)
	      Permissions of the spool directories.

       spool_file_perms	(default: 0600)
	      Permissions of the spool files.

       syslog_device (default: /dev/console)
	      Log to this device if all	else fails.

       unix_socket_path	(default: /var/run/lprng/socket)
	      Location of the Unix  socket  that  lpd  listens	on  and	 LPRng
	      clients attempt to communicate to	when host is localhost.	Set to
	      off to disable listening and connecting via a Unix socket.

       use_date	(default: no)
	      No information about this	parameter available.

       use_identifier (default:	no)
	      Add a job	identifier line	to the control file, using the 'A' en-
	      try in the control file.

       use_info_cache (default:	yes)
	      If  this	is  set	 to  yes,  lpd.perms  and printcap information
	      lookups will be cached for later use.  Only lookups in the  main
	      databases	 will  be cached, not lookups in the per_printer data-
	      bases.  You can force the	lpd to flush its cache and reread  the
	      permissions file by sending it a SIGHUP.

       use_queuename (default: no)
	      Put  an entry into control files identifying the spool queue the
	      job was originally sent to.  The entry  has  the	form  'Qspool-
	      name',  and  its value can be passed to filters.	This is	useful
	      for setting up a spool queue which  formats  jobs	 in  different
	      ways, depending on the name of the queue.

       use_shorthost (default: no)
	      By  default,  names  of  lpr job files used the originating host
	      fully qualified domain name.  This can exceed 14 characters, the
	      limit  of	 file  names  on some UNIX systems.  If	this is	set to
	      yes, the non-qualified name will be used,	and if the  host  name
	      is at most 8 characters the file name will be at most 14 charac-
	      ters long.

       user (default: daemon)
	      The user that lpd	and its	filters	runs as, and the owner of  the
	      spool directories	and other lpd_writable files.  This can	be the
	      name of a	user or	a number.  If the user value is	 0,  then  the
	      real  UID	of the program when started will be used.  This	allows
	      a	non_root user to test the functionality	of the LRPng software.

       The printcap_path and printer_perms_path	variables specify  a  list  of
       either  data base files or filters to use to get	printcap or permission
       entries for a printer.  To get information, the filter is started and a
       single line with	the printer name is sent to it.	 Note that the printer
       name all	is used	to request information either about all	printers, or a
       specific	 printer  entry	 that  has a list of all printers.  See	print-
       cap(5) for more details.

       To find the printcap information, LPRng programs	will read the database
       files  specified	 in the	printcap_path entry.  The lpd server will read
       any additional files specified in the lpd_printcap_path entry.  If  any
       of the files is missing or non-readable a fatal error will result.  Af-
       ter having searched the various files, if a filter has  been  specified
       the  filter  will be started and	the required printer name will be sent
       to the filter.  The output from the filter will be used as the printcap

       Environment  variables  are sanitized by	lpd and	the other executables,
       in that the variables IFS, LD_PRELOAD and LD_PROFILE  are  all  deleted
       from  the  environment  passed  to filters and any other	sub_processes.
       For more	reliability, script filters should  set	 their	own  PATH  and
       LD_LIBRARY_PATH variables.

       All  filters  will run as the user and group specified by the group and
       user variables.

       # lpd.conf generated from  on Wed Apr  7	07:59:48 PDT 1999

       #   The values in this file are the default values.
       #   If you modify the file,  set	the value to something other than the default
       #   For example,	'# default force_localhost' means
       #     the 'force_localhost' option value	is on or 1.
       #   Uncomment this and change it	to read	'force_localhost@'

       # Purpose: always print banner, ignore lpr -h option
       #   default ab@
       # Purpose: query	accounting server when connected
       #   default achk@
       # Purpose: accounting at	end (see also af, la, ar, as)
       #   default ae=jobend $H	$n $P $k $b $t
       # Purpose: name of accounting file (see also la,	ar)
       #   default af=
       # Purpose: automatically	hold all jobs
       #   default ah@
       # Purpose: Allow	duplicate command line arguments (legacy requirement)
       #   default allow_duplicate_args@

       The files used by LPRng are set by values in the	printer	 configuration
       file.  The following are	a commonly used	set of default values.
       /usr/local/etc//lpd.conf			    LPRng configuration	file
       ${HOME}/.printcap			    user printer description file
       /etc/printcap				    printer description	file
       /usr/local/etc//lpd.perms		    permissions
       /var/run/lpd				    lock file for queue	control
       /var/spool/lpd				    spool directories
       /var/spool/lpd/QUEUE/control		    queue control
       /var/spool/lpd/QUEUE/log			    trace or debug log file
       /var/spool/lpd/QUEUE/acct		    accounting file
       /var/spool/lpd/QUEUE/status		    status file

       lpc(8),	lpd(8),	 checkpc(8),  lpr(1),  lpq(1),	lprm(1),  printcap(5),
       lpd.perms(5), pr(1), lprng_certs(1), lprng_index_certs(1).

       Most of the diagnostics are self	explanatory.
       If you are puzzled over the exact cause of failure,
       set the debugging level on (-D5)	and run	again.
       The debugging information will
       help you	to pinpoint the	exact cause of failure.

       LPRng is	a enhanced printer spooler system with	functionality  similar
       to   the	  Berkeley   LPR   software.	The   LPRng  mailing  list  is;	subscribe by sending mail  to
       with  the  word	subscribe in the body.	The software is	available from

       Patrick Powell <>.

LPRng				  LPRng-3.9.0			   LPD.CONF(5)


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

home | help