# lpadmin

## NAME



           lpadmin - configure cups printers and classes on cups scheduler
    


## SYNOPSIS



           **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_
    


## DESCRIPTION



           **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 scheduler's 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.
    


## OPTIONS



           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.
    


## DEPRECATED OPTIONS



           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.
    


## CONFORMING TO



           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.
    


## NOTES



           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.
    


## EXAMPLE



           Create an IPP Everywhere print queue:
    
               lpadmin -p myprinter -E -v ipp://myprinter.local/ipp/print -m everywhere
    


* * *