ippeveprinter(1) — Linux manual page


ippeveprinter(1)               Apple Inc.               ippeveprinter(1)

NAME         top

       ippeveprinter - an ipp everywhere printer application for cups

SYNOPSIS         top

       ippeveprinter [ --help ] [ --no-web-forms ] [ --pam-service
       service ] [ --version ] [ -2 ] [ -A ] [ -D device-uri ] [ -F
       output-type/subtype ] [ -K keypath ] [ -M manufacturer ] [ -P
       filename.ppd ] [ -V ipp-version ] [ -a filename.conf ] [ -c
       command ] [ -d spool-directory ] [ -f type/subtype[,...]  ] [ -i
       iconfile.png ] [ -k ] [ -l location ] [ -m model ] [ -n hostname
       ] [ -p port ] [ -r subtype[,subtype] ] [ -s speed[,color-speed] ]
       [ -v[vvv] ] service-name

DESCRIPTION         top

       ippeveprinter is a simple Internet Printing Protocol (IPP) server
       conforming to the IPP Everywhere (PWG 5100.14) specification. It
       can be used to test client software or act as a very basic print
       server that runs a command for every job that is printed.

OPTIONS         top

       The following options are recognized by ippeveprinter:

            Show program usage.

            Disable the web interface forms used to update the media and
            supply levels.

       --pam-service service
            Set the PAM service name.  The default service is "cups".

            Show the CUPS version.

       -2   Report support for two-sided (duplex) printing.

       -A   Enable authentication for the created printer.
            ippeveprinter uses PAM to authenticate HTTP Basic

       -D device-uri
            Set the device URI for print output.  The URI can be a
            filename, directory, or a network socket URI of the form
            "socket://ADDRESS[:PORT]" (where the default port number is
            9100).  When specifying a directory, ippeveprinter will
            create an output file using the job ID and name.

       -F output-type/subtype[,...]
            Specifies the output MIME media type.  The default is
            "application/postscript" when the -P option is specified.

       -M manufacturer
            Set the manufacturer of the printer.  The default is

       -P filename.ppd
            Load printer attributes from the specified PPD file.  This
            option is typically used in conjunction with the ippeveps(7)
            printer command ("-c ippeveps").

       -V 1.1

       -V 2.0
            Specifies the maximum IPP version to report.  2.0 is the

       -c command
            Run the specified command for each document that is printed.
            If "command" is not an absolute path ("/path/to/command"),
            ippeveprinter looks for the command in the "command"
            subdirectory of the CUPS binary directory, typically
            /usr/lib/cups/command or /usr/libexec/cups/command.  The
            cups-config(1) command can be used to discover the correct
            binary directory ("cups-config --serverbin").  In addition,
            the CUPS_SERVERBIN environment variable can be used to
            override the default location of this directory - see the
            cups(1) man page for more details.

       -d spool-directory
            Specifies the directory that will hold the print files.  The
            default is a directory under the user's current temporary

       -f type/subtype[,...]
            Specifies a list of MIME media types that the server will
            accept.  The default depends on the type of printer created.

       -i iconfile.png
            Specifies the printer icon file for the server.  The file
            must be a PNG format image.  The default is an internally-
            provided PNG image.

       -k   Keeps the print documents in the spool directory rather than
            deleting them.

       -l location
            Specifies the human-readable location string that is
            reported by the server.  The default is the empty string.

       -m model
            Specifies the model name of the printer.  The default is

       -n hostname
            Specifies the hostname that is reported by the server.  The
            default is the name returned by the hostname(1) command.

       -p port
            Specifies the port number to listen on.  The default is a
            user-specific number from 8000 to 8999.

       -r off
            Turns off DNS-SD service advertisements entirely.

       -r subtype[,subtype]
            Specifies the DNS-SD subtype(s) to advertise.  Separate
            multiple subtypes with a comma.  The default is "_print".

       -s speed[,color-speed]
            Specifies the printer speed in pages per minute.  If two
            numbers are specified and the second number is greater than
            zero, the server will report support for color printing.
            The default is "10,0".

            Be (very) verbose when logging activity to standard error.

EXIT STATUS         top

       The ippeveprinter program returns 1 if it is unable to process
       the command-line arguments or register the IPP service.
       Otherwise ippeveprinter will run continuously until terminated.

CONFORMING TO         top

       The ippeveprinter program is unique to CUPS and conforms to the
       IPP Everywhere (PWG 5100.14) specification.

ENVIRONMENT         top

       ippeveprinter adds environment variables starting with "IPP_" for
       all IPP Job attributes in the print request.  For example, when
       executing a command for an IPP Job containing the "media" Job
       Template attribute, the "IPP_MEDIA" environment variable will be
       set to the value of that attribute.

       In addition, all IPP "xxx-default" and "pwg-xxx" Printer
       Description attributes are added to the environment.  For
       example, the "IPP_MEDIA_DEFAULT" environment variable will be set
       to the default value for the "media" Job Template attribute.

       Enumerated values are converted to their keyword equivalents.
       For example, a "print-quality" Job Template attribute with a enum
       value of 3 will become the "IPP_PRINT_QUALITY" environment
       variable with a value of "draft".  This string conversion only
       happens for standard Job Template attributes, currently
       "finishings", "orientation-requested", and "print-quality".

       Finally, the "CONTENT_TYPE" environment variable contains the
       MIME media type of the document being printed, the "DEVICE_URI"
       environment variable contains the device URI as specified with
       the "-D" option, the "OUTPUT_FORMAT" environment variable
       contains the output MIME media type, and the "PPD" environment
       variable contains the PPD filename as specified with the "-P"

COMMAND OUTPUT         top

       Unless they communicate directly with a printer, print commands
       send printer-ready data to the standard output.

       Print commands can send messages back to ippeveprinter on the
       standard error with one of the following prefixes:

       ATTR: attribute=value[ attribute=value]
            Sets the named attribute(s) to the given values.  Currently
            only the "job-impressions" and "job-impressions-completed"
            Job Status attributes and the "marker-xxx", "printer-alert",
            "printer-alert-description", "printer-supply", and "printer-
            supply-description" Printer Status attributes can be set.

       DEBUG: Debugging message
            Logs a debugging message if at least two -v's have been

       ERROR: Error message
            Logs an error message and copies the message to the "job-
            state-message" attribute.

       INFO: Informational message
            Logs an informational/progress message if -v has been
            specified and copies the message to the "job-state-message"
            attribute unless an error has been reported.

       STATE: keyword[,keyword,...]
            Sets the printer's "printer-state-reasons" attribute to the
            listed keywords.

       STATE: -keyword[,keyword,...]
            Removes the listed keywords from the printer's "printer-
            state-reasons" attribute.

       STATE: +keyword[,keyword,...]
            Adds the listed keywords to the printer's "printer-state-
            reasons" attribute.

EXAMPLES         top

       Run ippeveprinter with a service name of My Cool Printer:

           ippeveprinter "My Cool Printer"

       Run the file(1) command whenever a job is sent to the server:

           ippeveprinter -c /usr/bin/file "My Cool Printer"

SEE ALSO         top

       ippevepcl(7), ippeveps(7), PWG Internet Printing Protocol
       Workgroup (http://www.pwg.org/ipp)

COPYRIGHT         top

       Copyright © 2007-2019 by Apple Inc.

COLOPHON         top

       This page is part of the CUPS (a standards-based, open source
       printing system) project.  Information about the project can be
       found at ⟨http://www.cups.org/⟩.  If you have a bug report for
       this manual page, see ⟨http://www.cups.org/⟩.  This page was
       obtained from the project's upstream Git repository
       ⟨https://github.com/apple/cups⟩ on 2024-06-14.  (At that time,
       the date of the most recent commit that was found in the
       repository was 2023-10-27.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

2 December 2019                   CUPS                  ippeveprinter(1)

Pages that refer to this page: cups(1)cupstestppd(1)ppdc(1)ppdhtml(1)ppdi(1)ppdmerge(1)ppdpo(1)cups-snmp.conf(5)mime.convs(5)ppdcfile(5)backend(7)filter(7)ippevepcl(7)cupsd-helper(8)cupsfilter(8)lpadmin(8)lpinfo(8)