lpr Command
The lpr command includes information for the AIX® Print Subsystem lpr and the System V Print Subsystem lpr.
AIX Print Subsystem lpr Command
Purpose
Enqueues print jobs.
Syntax
lpr [ -f ] [ -g ] [ -h ] [ -j ] [ -l ] [ -m ] [ -n ] [ -p ] [ -r ] [ -s ] [ -P Printer ] [ -# NumberCopies ] [ -C Class ] [ -J Job ] [ -T Title ] [ -i [ NumberColumns ] ] [ -w Width ] [ File ... ]
Description
The lpr command uses a spooling daemon to print the named File parameter when facilities become available. If no files are specified, the lpr command reads from standard input.
Flags
Item | Description |
---|---|
-# Number | Produces multiple copies of output, using the Number variable as the number of copies for each file named. |
-C Class | Specifies the print Class as the job classification on the burst page. |
-f | Uses a filter that interprets the first character of each line as a standard FORTRAN carriage control character. |
-g | The files are assumed to contain standard plot data. |
-h | Suppresses printing of the burst page. Note: The default is to print a header page and not a
trailer page.
|
-i [Number] | Indents output Number spaces. If the Number variable is not given, eight spaces are used as the default. |
-j | Specifies that the message Job number is: nnn, where nnn is the assigned job number, be displayed to standard output. This occurs only if the job is submitted to a local print queue. |
-J Job | Prints the Job variable as the job name on the burst page. Usually, the lpr command uses the name of the first file. |
-l | (Lowercase L) Uses a filter that allows control characters to be printed. |
-m | Sends mail upon completion of spooling. |
-n | Uses a filter that formats files containing ditroff (device-independent troff) data. |
-P Printer | Forces output to the Printer variable. If this flag is not specified, the following
conditions occur:
|
-p | Uses the pr command to format the file (lpr -p is very much like pr | lpr). |
-r | Removes the file upon completion of spooling. |
-s | Prints from the files specified on the command line rather than trying to copy them (so large files can be printed). This means the data files should not be modified or removed until they have been printed. Note that this flag only works on the local host (files sent to remote printer hosts are copied anyway), and only with named data files. It does not work if the lpr command is at the end of a pipeline. |
-T Title | Uses the Title variable instead of the file name for the title used by the pr command. |
-w Number | Uses the Number variable as the page width for the pr command. |
Security
Examples
- To print three copies of the files new.index.c,
print.index.c, and more.c, enter:
lpr -#3 new.index.c print.index.c more.cPrints three copies of the new.index.c file, three copies of the print.index.c file, and three copies of the more.c file.
- To print three copies of the concatenation of three files
new.index.c, print.index.c, and more.c, enter:
cat new.index.c print.index.c more.c | lpr -#3
- To print Operations on the burst page, followed by
file new.index.c, enter:
lpr -C Operations new.index.cThis replaces the system name (the name returned by host name) with Operations on the burst page.
- To queue the MyFile file and return the job number,
enter:
lpr -j MyFile
Files
Item | Description |
---|---|
/usr/sbin/qdaemon | Queuing daemon. |
/etc/qconfig | Queue configuration file. |
/etc/qconfig.bin | Digested, binary version of the /etc/qconfig file. |
/var/spool/lpd/qdir/* | Queue requests. |
/var/spool/lpd/stat/* | Information on the status of the queues. |
/var/spool/qdaemon | Temporary copies of enqueued files. |
System V Print Subsystem lpr Command
Purpose (System V)
(BSD) Sends a job to the printer.
Syntax (System V)
/usr/bin/lpr [ -P printer] [ -# copies] [ -C class] [ -J job] [ -T title] [ -i [indent] ] [ -w cols] [ -r] [ -m] [ -h] [ -s] [ -filter_option] [file ... ]
Description (System V)
The lpr command 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.
lp is the preferred interface.
lpr -fs
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 and T[E]X reside on the printer host. It is not possible to use local font libraries.
lpr objects to printing binary files.
If userA uses su to become userB and uses /usr/bin/lpr, then the printer request will be entered as userB, not userA
Flags (System V)
- -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. Usually, lpr uses the first file's name.
- -T title
- Use title instead of the file name for the title used by pr.
- -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 flag.
- -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. This flag only prevents copies of local files from being made. Jobs from remote hosts are copied anyway. The -s flag 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 (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 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.
Security (System V)
Files (System V)
- /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
Error Codes (System V)
- 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 usually done 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.