[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    lpr(1B) manual page Table of Contents

Name

lpr - send a job to the printer

Synopsis

/usr/ucb/lpr [ -P printer ] [ -# copies ] [ -C class ] [ -J job ] [ -T title ] [ -i [ indent ] ] [ -w cols ] [ -m ] [ -h ] [ -s ] [ -filter_option ] [ filename ... ]

Availability

SUNWscpu

Description

lpr forwards printer jobs to a spooling area for subsequent printing as facilities become available. Each printer job consists of copies of, or, with -s , complete pathnames of each filename you specify. The spool area is managed by the line printer spooler, lpsched. lpr reads from the standard input if no files are specified.

Options

-P printer
Send output to the named printer. In the absence of the -P option, the queue to the printer specified by the PRINTER variable in the environment is used. If the PRINTER variable is not set, and the LPDEST environment variable is not set, the queue for the default printer is used.
-# copies
Produce the number of copies indicated for each named file. For example:
lpr -#3 index.c lookup.c
produces three copies of
index.c, followed by three copies of lookup.c. On the other hand,
cat index.c lookup.c | lpr -#3
generates three copies of the concatenation of the files.
-C class
Print class as the job classification on the burst page. For example,
lpr -C Operations new.index.c
replaces the system name (the name returned by
hostname) with Operations on the burst page, and prints the file new.index.c.
-J job
Print job as the job name on the burst page. Normally, lpr uses the first file’s name.
-T title
Use title instead of the file name for the title used by pr(1) .
-i[indent]
Indent output indent SPACE characters. Eight SPACE characters is the default.
-w cols
Use cols as the page width for pr.
-m
Send mail upon completion.
-h
Suppress printing the burst page.
-s
Use the full pathnames (not symbolic links) of the files to be printed rather than trying to copy them. This means the data files should not be modified or removed until they have been printed. -s only prevents copies of local files from being made. Jobs from remote hosts are copied anyway. -s only works with named data files; if the lpr command is at the end of a pipeline, the data is copied to the spool.
filter_option
The following single letter options 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.
-p
Use pr to format the files (lpr -p is very much like pr | lpr).
-l
Print control characters and suppress page breaks.
-t
The files contain troff(1) (cat phototypesetter) binary data.
-n
The files contain data from ditroff (device independent troff).
-d
The files contain data from tex (DVI format from Stanford).
-g
The files contain standard plot data as produced by the plot(1B) routines.
-v
The files contain a raster image. The printer must support an appropriate imaging model such as PostScript in order to print the image.
-c
The files contain data produced by cifplot.
-f
Interpret the first character of each line as a standard FORTRAN carriage control character.

If no filter_option is given (and the printer can interpret PostScript), the string ‘%!’ as the first two characters of a file indicates that it contains PostScript commands.

These filter options offer a standard user interface, and all options may not be available for, nor applicable to, all printers.

Files

/etc/passwd
personal identification
/usr/lib/lp/lpsched
System V line printer spooler
/var/spool/lp/tmp/*
directories used for spooling
/var/spool/lp/tmp/system/*-0
spooler control files
/var/spool/lp/tmp/system/*-N
(N is an integer and > 0) data files specified in ‘*-0’ files

See Also

lp(1) , lpc(1B) , lpq(1B) , lprm(1B) , lpstat(1) , plot(1B) , pr(1) , troff(1) , lpsched(1M)

Diagnostics

lpr: printer: unknown printer
The printer was not found in the LP database. Usually this is a typing mistake; however, it may indicate that the printer does not exist on the system. Use ‘lpstat -p’ (see lpstat(1) ) or ‘lpc status’ (see lpc(1B) ) to discover the reason.
lpr: error on opening queue to spooler
The connection to lpsched on the local machine failed. This usually means the printer server started at boot time has died or is hung. Check if the printer spooler daemon /usr/lib/lpsched is running.
lpr: printer: printer queue is disabled
This means the queue was turned off with
/usr/etc/lpc disable printer
to prevent
lpr from putting files in the queue. This is normally done by the system manager when a printer is going to be down for a long time. The printer can be turned back on by a super-user with lpc.
lpr: Can’t send message to the LP print service
lpr: Can’t receive message from the LP print service
These indicate that the LP print service has been stopped. Get help from the system administrator.
lpr: Received unexpected message from LP print service
It is likely there is an error in this software. Get help from system administrator.
lpr: There is no filter to convert the file content
Use the ‘lpstat -p  -l’ command to find a printer that can handle the file type directly, or consult with your system administrator.
lpr: cannot access the file
Make sure file names are valid.

Notes

lp is the preferred interface.

Command-line options cannot be combined into a single argument as with some other commands. The command:

lpr -fs

is not equivalent to

lpr -f -s

Placing the -s flag first, or writing each option as a separate argument, makes a link as expected.

lpr -p is not precisely equivalent to pr | lpr. lpr -p puts the current date at the top of each page, rather than the date last modified.

Fonts for troff(1) and TdEuX reside on the printer host. It is currently not possible to use local font libraries.

lpr objects to printing binary files.

The -s option, intended to use symbolic links in SunOS, does not use symbolic links in the compatibility package. Instead, the complete path names are used. Also, the copying is avoided only for print jobs that are run from the printer host itself. Jobs added to the queue from a remote host are always copied into the spool area. That is, if the printer does not reside on the host that lpr is run from, the spooling system makes a copy the file to print, and places it in the spool area of the printer host, regardless of -s.


Table of Contents