lp - submit print request
lp [-c] [-m] [-p] [-s] [-w] [-d destination] [-f form-name]
[-H special-handling] [-n number] [-o option]
[-P page-list] [-q priority-level]
[-S character-set | print-wheel] [-t title]
[-T content-type [-r]] [-y mode-list] [file]...
lp -i request-ID... [-c] [-m] [-p] [-s] [-w]
[-d destination] [-f form-name] [-H special-handling]
[-n number] [-o option] [-P page-list]
[-q priority-level] [-S character-set | print-wheel]
[-t title] [-T content-type [-r]] [-y mode-list]
The lp utility submits print requests to a destination.
There are two formats of the lp command.
The first form of lp prints files (file) and
associated information (collectively called a print request). If
file is not specified, lp assumes the standard input. Use a
hyphen (−) with file to specify the standard input.
Files are printed in the order in which they appear on the command line.
The second form of lp changes print request options. This
form of lp can only be used with print services and protocols that
support job modification. The LP print service allows print requests to be
modified when they are in a queue local to the system that the lp commands
was executed on. The Internet Print Protocol (IPP) allows job modification
on remote ipp print services.
The print request identified by request-ID is changed
according to the printing options specified. The printing options available
are the same as those with the first form of the lp. If the request
has finished printing when the lp command is executed, the change is
rejected. If the request is in the process of printing, it is stopped and
restarted from the beginning (unless the -P option has been
given).
The print client commands locate destination information using the
"printers" database in the name service switch. See
nsswitch.conf(5), printers(5), and printers.conf(5) for
details.
Printers that have a 4.x or BSD-based print server
are not configured to handle BSD protocol extensions. lp
handles print requests sent to such destinations differently (see
NOTES).
The following options are supported:
-c
Copies
file before printing.
Unless -c is specified, users should not remove any
file before the print request has completely printed. Changes made to
file after the print request is made but before it is printed might
be reflected in the printed output. file is linked (as opposed to
copied).
-d destination
Prints
file on a specific destination. The
-d option is used to set the destination only when the job is first
created. (
Note: To move existing jobs to a different destination, see
lpmove(8).)
destination can be either a printer or a class of
printers (see
lpadmin(8)). Specify
destination using atomic,
URI-style (
scheme://
endpoint), or POSIX-style
(
server:destination) names. See
printers.conf(5)
for more information.
-f form-name
Prints
file on
form-name. The
LP
print service ensures that the form is mounted on the printer. The print
request is rejected if the printer does not support
form-name, if
form-name is not defined for the system, or if the user is not allowed
to use
form-name (see
lpforms(8)).
-H special-handling
Prints the print request according to the value of
special-handling. The following
special-handling values are
acceptable:
hold
Do not print the print request until notified. If
printing has already begun, stop it. Other print requests are placed ahead of
a request that has been put on hold (held print request) until the
print request is resumed.
resume
Resume a held print request. If the print request had
begun to print when held, it is the next print request printed, unless it is
superseded by an immediate print request.
immediate
Print the print request next. If more than one print
request is assigned, the most recent print request is printed next. If a print
request is currently printing on the desired printer, a hold request
must be issued to allow the immediate request to print. The immediate
request is only available to LP administrators.
-i request-ID
Changes options for the print request identified by
request-ID. There must be a space between
-i and
request-ID.
This option applies to jobs that are in a local queue on a print
server. This also applies to remote queues on when the remote print server
supports IPP with job modification.
-m
Sends mail after
file has printed (see
mail(1)). By default, no mail is sent upon normal completion of a print
request.
-n number
Prints a specific number of copies of file.
Specify number as a digit. The default for number is
1.
-o option
Specifies printer-dependent
options. Specify
several options by specifying
-o option multiple times
(
-o option -o option -o option ).
Printer-dependent options can also be specified using the
-o keyletter
once, followed by a list of options enclosed in double quotes
(
-o"
option option option").
options take the following forms:
key=value
Associates information with the request for use by the
backend print service. The keys and values that can be used are specific to
the backend print service and queue configuration.
[no]key
Associates boolean information with the request for use by the backend print
service. The keys that can be used are specific to the backend print service
and queue configuration.
The following options are commonly used with the LP print
service:
nobanner
Does not print a banner page with the request. This
option can be disallowed by the
LP administrator.
On a system that is configured with Trusted Extensions, use of
this option requires the solaris.print.nobanner authorization.
nofilebreak
Prints multiple files without inserting a form feed
between them.
nolabels
On a system that is configured with Trusted Extensions,
specifies suppression of page header and footer labels. Use of this option
requires the solaris.print.unlabeled authorization.
length=numberi | numberc
| number
Prints the print request with pages of a specific length
in inches, centimeters, or number of lines. Append the letter
i for
inches or
c for centimeters to
number. Indicate the number of
lines by specifying
number alone.
length=66 indicates a page
length of
66 lines.
length=11i indicates a page length of
11 inches.
length=27.94c indicates a page length of
27.94
centimeters.
This option can not be used with the -f option.
width=numberi | numberc
| number
Prints the print request with pages of a specific width
in inches, centimeters, or number of columns. Append the letter
i for
inches or
c for centimeters to
number. Indicate the number of
columns by specifying
number alone.
width=65 indicates a page
width of
65 columns.
width=6.5i indicates a page width of
6.5 inches.
width=10c indicates a page width of
10
centimeters.
This option can not be used with the -f option.
lpi=number
Prints the print request with the line pitch set to
number lines in an inch. Use
number to specify the number of
lines in an inch.
This option can not be used with the -f option.
cpi=n|pica|elite|compressed
Prints the print request with the character pitch set to
number characters in an inch. Use
number to specify the number
of characters in an inch. Use
pica to set character pitch to pica
(
10 characters per inch), or
elite to set character pitch to
elite (
12 characters per inch) Use
compressed to set character
pitch to as many characters as the printer can handle. There is no standard
number of characters per inch for all printers; see the
terminfo
database (see
terminfo(5)) for the default character pitch for your
printer. This option can not be used with the
-f option.
stty=stty-option-list
Prints the request using a list of options valid for the
stty command (see
stty(1). Enclose the list in single quotes
(
`') if it contains blanks.
-P page-list
Prints the pages specified in
page-list in
ascending order. Specify
page-list as a of range of numbers, single
page number, or a combination of both.
The -P option can only be used if there is a filter
available to handle it; otherwise, the print request is rejected.
-p
Enables notification on completion of the print request.
Delivery of the notification is dependent on additional software.
-q priority-level
Assigns the print request a priority in the print queue.
Specify priority-level as an integer between from 0 and
39. Use 0 to indicate the highest priority; 39 to
indicate the lowest priority. If no priority is specified, the default
priority for a print service is assigned by the LP administrator. The
LP administrator can also assign a default priority to individual
users.
-s
Suppresses the display of messages sent from
lp.
-S character-set |
-S print-wheel
Prints the request using the
character-set or
print-wheel. If a form was requested and requires a character set or
print wheel other than the one specified with the
-S option, the
request is rejected. Printers using mountable print wheels or font cartridges
use the print wheel or font cartridge mounted at the time of the print
request, unless the
-S option is specified.
Printers Using Print Wheels: If print wheel is not
one listed by the LP administrator as acceptable for the printer the
request is rejected unless the print wheel is already mounted on the
printer.
Printers Using Selectable or Programmable Character Sets: If the
-S option is not specified, lp uses the standard character
set. If character-set is not defined in the terminfo database
for the printer (see terminfo(5)), or is not an alias defined by the
LP administrator, the request is rejected.
-t title
Prints a title on the banner page of the output. Enclose
title in quotes if it contains blanks. If title is not not
specified, the name of the file is printed on the banner page.
-Tcontent-type [-r]
Prints the request on a printer that can support the
specified content-type. If no printer accepts this type directly, a
filter is used to convert the content into an acceptable type. If the
-r option is specified, a filter is not used. If -r is
specified, and no printer accepts the content-type directly, the
request is rejected. If the content-type is not acceptable to any
printer, either directly or with a filter, the request is rejected.
-w
Writes a message on the user's terminal after the
files have been printed. If the user is not logged in, then mail is
sent instead.
-y mode-list
Prints the request according to the printing modes listed
in
mode-list. The allowed values for
mode-list are locally
defined.
This option can be used only if there is a filter available to
handle it; otherwise, the print request is rejected.
The following operand is supported:
file
The name of the file to be printed. Specify file
as a pathname or as a hyphen (−) to indicate the standard input.
If file is not specified, lp uses the standard input.
See largefile(7) for the description of the behavior of
lp when encountering files greater than or equal to 2 Gbyte ( 2^31
bytes).
See environ(7) for descriptions of the following
environment variables that affect the execution of lp: LANG,
LC_ALL, LC_CTYPE, LC_MESSAGES, NLSPATH, and
PATH.
LC_TIME
Determine the format and contents of date and time
strings displayed in the lp banner page, if any.
LPDEST
Determine the destination. If the LPDEST
environment variable is not set, the PRINTER environment variable shall
be used. The -d dest option takes precedence over LPDEST.
Results are undefined when -d is not specified and LPDEST
contains a value that is not a valid destination name.
PRINTER
Determine the output device or destination. If the
LPDEST and PRINTER environment variables are not set, an
unspecified output device is used. The -d dest option and the
LPDEST environment variable shall take precedence over PRINTER.
Results are undefined when -d is not specified, LPDEST is unset,
and PRINTER contains a value that is not a valid device or destination
name.
TZ
Determine the timezone used to calculate date and time
strings displayed in the lp banner page, if any. If TZ is unset
or null, an unspecified default timezone shall be used.
The following exit values are returned:
0
Successful completion.
non-zero
An error occurred.
/etc/printers.conf
System printer configuration database
$HOME/.printers
User-configurable printer database
ou=printers
LDAP version of /etc/printers.conf
printers.conf.byname
NIS version of /etc/printers.conf
See attributes(7) for descriptions of the following
attributes:
ATTRIBUTE
TYPE |
ATTRIBUTE VALUE |
CSI |
Enabled. See NOTES. |
Interface Stability |
Standard |
cancel(1), enable(1), lpstat(1),
mail(1), postprint(1), pr(1), stty(1),
lpq(1B), lpr(1B), lprm(1B), nsswitch.conf(5),
printers(5), printers.conf(5), terminfo(5),
attributes(7), environ(7), largefile(7),
standards(7), accept(8), lpadmin(8),
lpfilter(8), lpforms(8), lpmove(8), lpsched(8),
lpshut(8), lpsystem(8), lpusers(8)
CSI-capability assumes that printer names are composed of
ASCII characters.
Print jobs are assumed to contain one type of data. That type of
data is either specified on the command line or autodetected (simple,
PostScript) based on the contents of the first file in the job.
When using the BSD printing protocol to send print requests to a
remote print service, functionality is limited.
Printers that have a 4.x or BSD-based print server are not
configured to handle BSD protocol extensions. lp handles print
requests sent to such printers in the following ways:
- 1.
- Print requests with more than 52 filenames are truncated to 52 files.
- 2.
- The -f, -H, -o, -P, -p, -q,
-S, -T, and -y options might require a protocol
extension to pass to a print server. If lp cannot handle the print
request, it displays a warning message.
LP administrators enable protocol extensions by setting
a printer's printer-uri-supported (or bsdaddr) entry in
/etc/printers.conf. Changing the printer-uri-supported
entry in /etc/printers.conf to:
printer-uri-supported=lpd\://server/printers/destination#Solaris
bsdaddr=server,destination,Solaris
Adding Solaris to either of these values causes the
lp command to generate a set of BSD print protocol extensions
that can be processed by a Solaris print server.
As a result of several limitations in the BSD print protocol, it
is recommended that the IPP protocol be used for communication with print
servers.
When IPP is in use, the user is prompted for a passphrase if the
remote print service is configured to require authentication.