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
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 printer.
- -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.
- -o cupsIPPSupplies=true
- -o cupsIPPSupplies=false
- Specifies whether IPP supply level values should be
- -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
- 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)
- -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 "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: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.
- Enables the destination and accepts jobs; this is the same
as running the cupsaccept(8) and cupsenable(8) programs on
- -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.
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-2017 by Apple Inc.