LPR(1)

NAME
lpr - off line print

SYNOPSIS
lpr [-Pprinter] [-#num] [-C class] [-J job] [-L locale] [-T title] [-U user] [-Z daemon-options] [-i numcols] [-1234 font] [-w num] [-cdfghlnmprstv] [name ...]

DESCRIPTION
The lpr utility uses a spooling daemon to print the named files when facilities become available. If no names appear, the standard input is assumed.

The following single letter options are used to notify the line printer spooler that the files are not standard text files. The spooling daemon will use the appropriate filters to print the data accordingly. Note that not all spoolers implement filters for all data types, and some sites may use these types for other purposes than the ones described here.

-d  The files are assumed to contain data in DVI format from the TeX typesetting system.

-f  Use a filter which interprets the first character of each line as a standard FORTRAN carriage control character.

-l  Use a filter which allows control characters to be printed and suppresses page breaks.

-p  Use pr(1) to format the files.

The following options are historical and not directly supported by any software included in FreeBSD.

-c  The files are assumed to contain data produced by cifplot(1).

-g  The files are assumed to contain standard plot data as produced by the UNIX plot(3) routines.

-n  The files are assumed to contain data from ditroff (device independent troff).

-t  The files are assumed to contain C/A/T phototypesetter commands from ancient versions of UNIX troff(1) (ports/textproc/groff).

-v  The files are assumed to contain a raster image for devices like the Benson Varian.

These options apply to the handling of the print job:

-P  Force output to a specific printer. Normally, the default printer is used (site dependent), or the value of the environment variable PRINTER is used.

-h  Suppress the printing of the burst page.

-m  Send mail upon completion.

-r  Remove the file upon completion of spooling or upon completion of printing (with the -s option).

-s  Use symbolic links. Usually files are copied to the spool directory. The -s option will use symlink(2) to link data files rather than trying to copy them so large files can be printed. This means the files should not be modified or removed until they have been printed.

The remaining options apply to copies, the page display, and headers:

-#num
    The quantity num is the number of copies desired of each file named. For example,

        lpr -#3 foo.c bar.c more.c

    would result in 3 copies of the file foo.c, followed by 3 copies of the file bar.c, etc. On the other hand,

        cat foo.c bar.c more.c | lpr -#3

    will give three copies of the concatenation of the files. Often a site will disable this feature to encourage use of a photocopier instead.

    -[1234] font Specifies a font to be mounted on font position i. The daemon will construct a .railmag file referencing the font pathname.

-C class
    Job classification to use on the burst page. For example,

        lpr -C EECS foo.c

    causes the system name (the name returned by hostname(1)) to be replaced on the burst page by EECS, and the file foo.c to be printed.

-J job
    Job name to print on the burst page. Normally, the first file's name is used.

-L locale
    Use locale specified as argument instead of one found in environment. (Only effective when filtering through pr(1) is requested using the -p option.)

-T title
    Title name for pr(1), instead of the file name.

-U user
    User name to print on the burst page, also for accounting purposes. This option is only honored if the real user-id is daemon (or that specified in the printcap file instead of daemon), and is intended for those instances where print filters wish to requeue jobs.

-Z daemon-options
    Some spoolers, such as LPRng, accept additional per-job options using a ‘Z’ control line. When -Z is specified, and -p (pr(1)) is not requested, the specified daemon-options will be passed to the remote LPRng spooler.

-i numcols
    The output is indented by (numcols).

-w num
    Uses num as the page width for pr(1).

ENVIRONMENT
If the following environment variable exists, it is used by lpr:

PRINTER
    Specifies an alternate default printer.

FILES
/etc/passwd
    Personal identification.
/etc/printcap
    Printer capabilities data base.
/usr/sbin/lpd
    Line printer daemons.
/var/spool/output/*
    Directories used for spooling.
/var/spool/output/*/cf*
    Daemon control files.
/var/spool/output/*/df*
    Data files specified in "cf" files.
/var/spool/output/*/tf*
    Temporary copies of "cf" files.

DIAGNOSTICS
If you try to spool too large a file, it will be truncated. The lpr utility will object to printing binary files. If a user other than root prints a file and spooling is disabled, lpr will print a message saying so and will not put jobs in the queue. If a connection to lpd(8) on the local machine cannot be made, lpr will say that the daemon cannot be started. Diagnostics may be printed in the daemon's log file regarding missing spool files by lpd(8).

SEE ALSO
lpq(1), lprm(1), pr(1), symlink(2), printcap(5), lpc(8), lpd(8)

HISTORY
The lpr command appeared in 3BSD.

BUGS
Fonts for troff(1) (ports/textproc/groff) and TeX reside on the host with the printer. It is currently not possible to use local font libraries.

The ‘Z’ control file line is used for two different purposes; for standard FreeBSD lpd(8), it specifies a locale to be passed to pr(1). For LPRng lpd(8), it specifies additional options to be interpreted by the spooler's input and output filters. When submitting jobs via lpr, -p -L locale is used in the former context, and -Z daemon-options is used in the latter.