lpr - off line print
SYNOPSIS
lpr [ -A ] [ -B ] [ -b,l ] [ -C class ] [ -D debugopt ]
[ -F filterformat ] [ -G ] [ -h ] [ -i indentcols ]
[ -k ] [ -J job ] [ -K,# copies ]
[ -m mailTo ] [ -o options ] [ -P printer ] [ -Q ] [
-r ]
[ -R remoteAccount ] [ -s ] [ -T title ] [ -U user ]
[ -V ] [ -w width ] [ -X userfile ] [ -Y ] [ -Z
options ] [ -1,2,3,4 font ]
[ filename ... ]
DESCRIPTION
Lpr uses a spooling daemon to print the named files when
facilities become available. If no names appear, the
standard input is assumed.
OPTIONS
-A The authentication type is set by the value of the
AUTH environment variable.
-B Do filtering of job files by the filters specified by
the printcap. Combine the output of the filtering
operation into a single job file and then send the
single file to the lpd print spooler.
-C class
Specify the job classification for use on the burst
page and to set the priority. Priorities range from
A (lowest) to Z (highest); the default priority is A.
For example,
lpr -C B foo.c
sets the priority/class to B and the file foo.c is
printed.
-D debugoptions
Debugging is controlled using the -D option. This
accepts a comma-separated list of debugging settings.
These settings take one of two forms: facility=value,
or value to set an overall default value.
-F filterformat
Filter or format specification. By default, input is
assumed to a standard text file and the f format is
used; the output device is assmed to be a simple line
printer. Other formats available are listed below.
Not all formats may be available on all printers; see
printcap(5) for details. Formats are single lower
case letters; the following are the valid arguments
for -F together with the assumed type of data. For
compatibility with previous versions of lpr, the for
mat types can be used as options themselves (i.e. by
may be issued in such cases.
-b, -l
either of these flags specifies a binary or lit
eral file, and no processing is to be done.
Printed using the f format filter, with process
ing suppressed.
-c data produced by cifplot(l).
-d output from tex(l) (DVI format from Stanford).
-g standard plot data as produced by the plot(3X)
routines (see also plot(1G) for the filters used
by the printer spooler).
-n output from (device independent) troff.
-p First use pr(1) to format the files, then print
using f format.
-r The DREADED REMOVE AFTER PRINTING option.
Beware, for lpr will delete the files after
spooling them. Present by demand from users for
compatibility with other Berkeley lpr implemen
tation, but really should NOT be present.
-t output from troff(1) (originally cat phototype
setter commands, but now we assume the same as
the n format).
-v a raster image for devices like the Benson Var
ian.
-G Similar to the -B option, but only processes individ
ual files.
-h No banner or header for this job.
-i indentcols
Indent input by indentcols. Note that this option is
not supported on all printers.
-J jobname
Specify the job name to print on the burst page;
defaults to the name of the first file in job or
(STDIN) if input is from a pipe.
-k When used as a filter, lpr normally creates a tempo
rary file for the input read from stdin before send
ing it to the remote printer. The -k causes the job
to be sent directly to the server. If you kill the
job in the middle of creation, then the partly
not work with very large jobs or non-LPRng spoolers.
-Kcopies, -#copies
Specify the number of copies of each file to be
printed.
-m mailTo
Send mail upon unsuccessful completion to user
mailTo.
-P printer
By default, the destination printer is taken from the
command line printer value, then the environment
variables PRINTER, LPDEST, NPRINTER, NGPRINTER, then
first entry in the printcap information, and and
finally the default_printer entry from the configura
tion file, and then the compile time default.
-Q Put the name of the spool queue into the job file.
This information can then be used by the spooling
software to control output format.
-R remoteAccount
Specify accounting information to be used by a remote
system that prints your output.
This parameter can be used to specify a billing code
to be charged for the printing.
-s This flag is included for compatibility with other
versions of lpr. In these versions it will create a
symbolic link to the files to be printed. Lpr now
sends files directly to the server and it is irrele
vant.
-T title
Specify the title used by pr(1); defaults to the file
name.
-U username
The -U option is used to specify a user name for the
job. This is available only to ROOT or users listed
in the allow_user_setting configuration option. This
is obviously a security loophole, but it is present
to allow systems such as SAMBA to submit jobs on
behalf of users. See Authenticated Transfers below.
-V Verbose mode. Additional -V flags increase verbosity.
Use debug flags for extreme verbosity.
-w width
Specify the page width for printing the job. -X path
User specified filter for job files. Processing is
to the printer device and do not spool.
-Z options
-o options
Pass the specified options to the print spooler.
Used when additional or specialized information must
be provided to the spooler.
-1,2,3,4fontname
Specify a font to be mounted on font position i for
TROFF printing (Obsolete).
FILENAMES
By default, if no filenames are specified lpr will read
stdin and print it.
AUTHENTICATED TRANSFERS
The original LPR network protocol defined in RFC1179 did
not provide for user to server authentication. This is
now supported by LPRng. See the LPRng support documenta
tion for details on its operation and support.
COMPATIBILITY
The LPRng version of lpr attempts to be functionaly com
patible with common implementations of lpr. However,
there are some commands and functionality that are delib
erately missing.
-s Symbolic Links
(Berkeley LPR) This option specified that a symbolic
link to the original data file rather than a copy of
the data file was to be used when spooling jobs.
This opens up a variety of security problems, as well
as being ineffective when printing to a remote host.
THE -B, -Y, -X filter ULTRA-LIGHTWEIGHT PRINTING OPTIONS
LPRng supports ultra-lightweight printing by eliminating
the need for a print spooler. This is quite dangerous,
but makes the lpr client very lightweight. The -Y command
line option and the :direct printcap option enables lpr to
connect directly to a specified port or use a program to
send a job. This filter also enables client side filter
ing, so if there are any filters specified in the print
cap entry they will be used. For example:
lpr -Y -Phost%port file1 file2 ...
approximately equivalent to:
for i in file1 file2 ...; do
${filter} <$i; # where ${filter} is filter
from printcap
done >host%port (TCP/IP connection)
lpr -Y -Phost%port -X userfilter file1 file2 ...
for i in file1 file2 ...; do
userfilter <$i;
done >host%port (TCP/IP connection)
Summary:
-P host%port > TCP/IP connection to host%port
-P /dev/lp > /dev/lp
-P '|/program' | /program
SPECIAL CASE lpr -Y -Ppr@host -X userfilter file1
file2 ...
approximately equivalent to:
for i in file1 file2 ...; do
userfilter <$i >temp.$i;
done
lpr -Ppr@host temp.file1 temp.file2
The -B option or the :lpr_bounce is used to filter and
make a single file out of a set of print files and then
forward them.
lpr -B -Ppr@host
approximately equivalent to:
lpr -Y -P/tmp/tempfile file1 file2 ...
lpr -Ppr@host /tmp/tempfile
You can also use a printcap entry and the :direct options.
Printcap:
lp:direct:lp=h14%9100:remote_support=R lpr -Plp
file1 file2
Same as: lpr -Plp -Y -Ph14%9100 file1 file2
The :remote_support option is used to prevent the lpq and
lpc program from attempting to send jobs to the device.
ENVIRONMENT
By default, the destination printer is taken from the com
mand line dest value, then the environment variables
PRINTER, LPDEST, NPRINTER, NGPRINTER, then first entry in
the printcap information, and and finally the
default_printer entry from the configuration file, and
then the compile time default.
EXIT STATUS
The following exit values are returned:
zero (0) Successful completion.
non-zero (!=0) An error occurred.
PRINTCAP INFORMATION
The printer names and other information is obtained by
using a printcap file or some other database. The
options and configuration information. See printcap(5)
for more information.
FILES
The files used by LPRng are set by values in the printer
configuration file. The following are a commonly used set
of default values.
/etc/lpd.conf LPRng configuration file
${HOME}/.printcap user printer description file
/etc/printcap system printer description file
/etc/lpd.perms printer permissions
/var/spool/printer* spool directories
/var/spool/printer*/printer lock file for queue control
/var/spool/printer*/control.printer queue control
/var/spool/printer*/active.printer active job
/var/spool/printer*/log.printer log file
SEE ALSO
lpd.conf(5), lpc(8), lpd(8), checkpc(8), lpq(1), lprm(1),
checkpc(8), printcap(5), lpd.perms(5), pr(1).
DIAGNOSTICS
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.
HISTORY
LPRng is a enhanced printer spooler system with function
ality similar to the Berkeley LPR software. The LPRng
mailing list is lprng@lprng.com; subscribe by sending mail
to lprng-request@lprng.com with the word subscribe in the
body. The software is available from
ftp://ftp.astart.com/pub/LPRng.
AUTHOR
Patrick Powell <papowell@lprng.com>.
Man(1) output converted with
man2html