lpadmin - configure cups printers and classes
] [ -U username
] [ -h
] ] -d destination
] [ -U username
] [ -h
] ] -p destination
] [ -U username
] [ -h
] ] -x destination
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
, or -x
option forces encryption when connecting to the server.
The first form of the command ( -d
) sets the default printer or class to
. Subsequent print jobs submitted via the lp(1)
commands will use this destination unless the user specifies
otherwise with the lpoptions(1)
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
. 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.
- -i ppd-file
- -P ppd-file
- Specifies a PostScript Printer Description (PPD) file to use with the
- -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: The "raw" model is 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
- -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
- -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 error policy to be used when the printer backend is unable to
send the job to the printer. The name must be one of
"retry-current-job", or "stop-printer". 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
- -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: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.
- 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
- -L "location"
- Provides a textual location of the destination.
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.
The CUPS version of lpadmin
does not support all of the System V or
Solaris printing system configuration options.
The double meaning of the -E
option is an unfortunate historical oddity.
Create an IPP Everywhere print queue:
lpadmin -p myprinter -E -v ipp://myprinter.local/ipp/print -m everywhere
(1), CUPS Online Help (http://localhost:631/help)
Copyright © 2007-2018 by Apple Inc.