lpadmin - configure cups printers and classes
lpadmin [
-E ] [
-U username ] [
-h
server[
:port] ]
-d destination
lpadmin [
-E ] [
-U username ] [
-h
server[
:port] ]
-p destination [
-R name-default ]
option(s)
lpadmin [
-E ] [
-U username ] [
-h
server[
:port] ]
-x destination
lpadmin configures printer and class queues provided by CUPS. It can also
be used to set the server default printer or class.
When specified before the
-d,
-p, or
-x options, the
-E option forces encryption when connecting to the server.
The first form of the command (
-d) sets the default printer or class to
destination. Subsequent print jobs submitted via the
lp(1) or
lpr(1) commands will use this destination unless the user specifies
otherwise with the
lpoptions(1) command.
The second form of the command (
-p) configures the named printer or
class. The additional options are described below.
The third form of the command (
-x) deletes the printer or class
destination. Any jobs that are pending for the destination will be
removed and any job that is currently printed will be aborted.
The following options are recognized when configuring a printer queue:
-
-c class
- Adds the named printer to class. If
class does not exist it is created automatically.
-
-m model
- Sets a standard PPD file for the printer from the
model directory or using one of the driver interfaces. Use the
-m option with the lpinfo(8) command to get a list of
supported models. The model "raw" clears any existing PPD file
and the model "everywhere" queries the printer referred to by
the specified IPP device-uri. Note: Models other than
"everywhere" are deprecated and will not be supported in a
future version of CUPS.
- -o cupsIPPSupplies=true
- -o cupsIPPSupplies=false
- Specifies whether IPP supply level values should be
reported.
- -o cupsSNMPSupplies=true
- -o cupsSNMPSupplies=false
- Specifies whether SNMP supply level (RFC 3805) values
should be reported.
-
-o job-k-limit=value
- Sets the kilobyte limit for per-user quotas. The value is
an integer number of kilobytes; one kilobyte is 1024 bytes.
-
-o job-page-limit=value
- Sets the page limit for per-user quotas. The value is the
integer number of pages that can be printed; double-sided pages are
counted as two pages.
-
-o job-quota-period=value
- Sets the accounting period for per-user quotas. The value
is an integer number of seconds; 86,400 seconds are in one day.
-
-o job-sheets-default=banner
-
-o
job-sheets-default=banner,banner
- Sets the default banner page(s) to use for print jobs.
-
-o name=value
- Sets a PPD option for the printer. PPD options can be
listed using the -l option with the lpoptions(1)
command.
-
-o name-default=value
- Sets a default server-side option for the destination. Any
print-time option can be defaulted, e.g., "-o
number-up-default=2" to set the default "number-up" option
value to 2.
-
-o port-monitor=name
- Sets the binary communications program to use when
printing, "none", "bcp", or "tbcp". The
default program is "none". The specified port monitor must be
listed in the printer's PPD file.
-
-o printer-error-policy=name
- Sets the policy for errors such as printers that cannot be
found or accessed, don't support the format being printed, fail during
submission of the print data, or cause one or more filters to crash. The
name must be one of "abort-job" (abort the job on error),
"retry-job" (retry the job at a future time),
"retry-current-job" (retry the current job immediately), or
"stop-printer" (stop the printer on error). The default error
policy is "stop-printer" for printers and
"retry-current-job" for classes.
- -o printer-is-shared=true
- -o printer-is-shared=false
- Sets the destination to shared/published or
unshared/unpublished. Shared/published destinations are publicly announced
by the server on the LAN based on the browsing configuration in
cupsd.conf, while unshared/unpublished destinations are not
announced. The default value is "true".
-
-o printer-op-policy=name
- Sets the IPP operation policy associated with the
destination. The name must be defined in the cupsd.conf in a Policy
section. The default operation policy is "default".
-
-R name-default
- Deletes the named option from printer.
-
-r class
- Removes the named printer from class. If the
resulting class becomes empty it is removed.
-
-u
allow:{user|@group}{,user|,@group}*
-
-u
deny:{user|@group}{,user|,@group}*
- -u allow:all
- -u deny:none
- Sets user-level access control on a destination. Names
starting with "@" are interpreted as UNIX groups. The latter two
forms turn user-level access control off. Note: The user 'root' is not
granted special access - using "-u allow:foo,bar" will allow
users 'foo' and 'bar' to access the printer but NOT 'root'.
-
-v "device-uri"
- Sets the device-uri attribute of the printer queue.
Use the -v option with the lpinfo(8) command to get a list
of supported device URIs and schemes.
-
-D "info"
- Provides a textual description of the destination.
- -E
- When specified before the -d, -p, or
-x options, forces the use of TLS encryption on the connection to
the scheduler. Otherwise, enables the destination and accepts jobs; this
is the same as running the cupsaccept(8) and cupsenable(8)
programs on the destination.
-
-L "location"
- Provides a textual location of the destination.
The following
lpadmin options are deprecated:
-
-i filename
- This option historically has been used to provide either a
System V interface script or (as an implementation side-effect) a PPD
file. Note: Interface scripts are not supported by CUPS. PPD files and
printer drivers are deprecated and will not be supported in a future
version of CUPS.
-
-P ppd-file
- Specifies a PostScript Printer Description (PPD) file to
use with the printer. Note: PPD files and printer drivers are deprecated
and will not be supported in a future version of CUPS.
Unlike the System V printing system, CUPS allows printer names to contain any
printable character except SPACE, TAB, "/", or "#". Also,
printer and class names are
not case-sensitive.
Finally, the CUPS version of
lpadmin may ask the user for an access
password depending on the printing system configuration. This differs from the
System V version which requires the root user to execute this command.
CUPS printer drivers and backends are deprecated and will no longer be supported
in a future feature release of CUPS. Printers that do not support IPP can be
supported using applications such as
ippeveprinter(1).
The CUPS version of
lpadmin does not support all of the System V or
Solaris printing system configuration options.
Interface scripts are not supported for security reasons.
The double meaning of the
-E option is an unfortunate historical oddity.
The
lpadmin command communicates with the scheduler (
cupsd) to
make changes to the printing system configuration. This configuration
information is stored in several files including
printers.conf and
classes.conf. These files should not be edited directly and are an
implementation detail of CUPS that is subject to change at any time.
Create an IPP Everywhere print queue:
lpadmin -p myprinter -E -v ipp://myprinter.local/ipp/print -m everywhere
cupsaccept(8),
cupsenable(8),
lpinfo(8),
lpoptions(1), CUPS Online Help (http://localhost:631/help)
Copyright © 2021-2022 by OpenPrinting.