LPR(1)

NAME
lpr - off line print

SYNOPSIS
lpr [ -A ] [ -b,l ] [ -C class ] [ -D debugopt ]
[ -F filterformat ] [ -h ] [ -i indentcols ]
[ -k ] [ -J job ] [ -K,# copies ]
[ -m mailTo ] [ -P printer ] [ -Q ] [ -r ]
[ -R remoteAccount ] [ -s ] [ -T title ] [ -U user ]
[ -V ] [ -w width ] [ -Z zoptions ] [ -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  Use the authenticated transfer facilities if they are available.

-C class
    Specify the job classification for use on the burst page and to set the priority. Priorities range from A (highest) to Z (lowest); 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. Therer are other formats available, 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 format types can be used as options themselves (i.e. by omitting the F) except where noted below, a warning may be issued in such cases.

    -b, -l
        either of these flags specifies a binary or literal file, and no processing is to be done. Printed using the f format filter, with processing 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 implementation, but really should NOT be present.

    -t  output from troff(1) (originally cat phototypesetter commands, but now we assume the same as the n format).

    -v  a raster image for devices like the Benson Varian.

-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 temporary file for the input read from stdin before sending 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 transferred file will get printed. This option may 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
    Output to the specific printer; the default is (in order of priority) the explictly specified -P value, the environment variable PRINTER, the first entry in the printcap information, and the default_printer entry from the configuration file, and finally the hard coded (site dependent) default_printer value.

-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 irrelevant.

-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 obviously a security loophole, but it is present for compatibility reasons. 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.

-Z zoptions
    This option is used to pass options to the print spooler, and is 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. A filename of the form - (single minus sign) will take input from STDIN (file descriptor 0).

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 documentation for details on its operation and support.

COMPATIBILITY

The LPRng version of lpr attempts to be functionaly compatible with common implementations of lpr. However, there are some commands and functionality that are deliberately 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.

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
/etc/printcap		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), lpr(1), lpq(1), lprm(1), 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 functionality similar to the Berkeley LPR software. In 1988 Patrick Powell released the PLP (Public Line Printer) software, which went through several evolutions. Justin Mason (jmason@iona.ie) generated PLP4.0 from several older releases of PLP. In 1992 Patrick Powell release LPRng, a completely redesigned and newly written version of the software.

The LPRng mailing list is plp@iona.ie; subscribe by sending mail to plp-request@iona.ie with the word subscribe in the body. The software is available from ftp://iona.ie/pub/LPRng.

LPRng is distributed under the GNU software license for non-commercial use, the Artistic License for limited commercial use. Commerical support and licensing is available through Patrick Powell <papowell@sdsu.edu>.