lpadmin(8)                   (CUPS)                    lpadmin(8)

     NAME
          lpadmin - configure cups printers and classes

     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 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 desti-
          nation 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 exist-
               ing 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

     Page 1                    26 April 2019         (printed 5/25/22)

     lpadmin(8)                   (CUPS)                    lpadmin(8)

               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) com-
               mand.

          -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 pro-
               gram is "none".  The specified port monitor must be
               listed in the printer's PPD file.

          -o printer-error-policy=name

     Page 2                    26 April 2019         (printed 5/25/22)

     lpadmin(8)                   (CUPS)                    lpadmin(8)

               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 des-
               tination.  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.

     Page 3                    26 April 2019         (printed 5/25/22)

     lpadmin(8)                   (CUPS)                    lpadmin(8)

          -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 desti-
               nation.

          -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 implemen-
               tation side-effect) a PPD file.  Note: Interface
               scripts are not supported by CUPS.  PPD files and
               printer drivers are deprecated and will not be sup-
               ported 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 configura-
          tion.  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 Sys-
          tem V or Solaris printing system configuration options.

          Interface scripts are not supported for security reasons.

     Page 4                    26 April 2019         (printed 5/25/22)

     lpadmin(8)                   (CUPS)                    lpadmin(8)

          The double meaning of the -E option is an unfortunate his-
          torical 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 includ-
          ing 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

     SEE ALSO
          cupsaccept(8), cupsenable(8), lpinfo(8), lpoptions(1), CUPS
          Online Help (http://localhost:631/help)

     COPYRIGHT
          Copyright [co] 2007-2019 by Apple Inc.

     Page 5                    26 April 2019         (printed 5/25/22)