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-

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 credentials.

       -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 "Example".

       -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

            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" option.

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

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
       2020-11-01.  (At that time, the date of the most recent commit that
       was found in the repository was 2020-04-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)snmp.conf(5)backend(7)filter(7)ippevepcl(7)cupsd-helper(8)cupsfilter(8)lpadmin(8)lpinfo(8)