(BSD System Compatibility)

lpr(1bsd)


lpr -- (BSD) send a job to the printer

Synopsis

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

Description

lpr forwards printer jobs to a spooling area for subsequent printing as facilities become available. Each printer job consists of copies of each file 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. Otherwise send output to the printer named in the PRINTER environment variable, or to the default printer, lp.

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

-r
Remove the file upon completion of spooling, or upon completion of printing with the -s option. This option is not supported in UnixWare.

-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(1bsd) (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 routine plot(1bsd) for the filters used by the printer spooler.

-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

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' to find 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 privileged user with lpc.


lpr: Can't send message to the LP print service

lpr: Can't establish contact with 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.

References

lpc(1Mbsd), lpq(1bsd), lprm(1bsd), plot(1bsd), troff(1bsd)

Notices

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(1bsd) and T[E]X® reside on the printer host. It is currently not possible to use local font libraries.

lpr objects to printing binary files.

The -s option 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.

If userA uses su to become userB and uses /usr/ucb/lpr, then the printer request will be entered as userB, not userA


© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004