1ippeveprinter(1) Apple Inc. ippeveprinter(1)
2
3
4
6 ippeveprinter - an ipp everywhere printer application for cups
7
9 ippeveprinter [ --help ] [ --no-web-forms ] [ --pam-service service ] [
10 --version ] [ -2 ] [ -A ] [ -D device-uri ] [ -F output-type/subtype ]
11 [ -K keypath ] [ -M manufacturer ] [ -P filename.ppd ] [ -V ipp-version
12 ] [ -a filename.conf ] [ -c command ] [ -d spool-directory ] [ -f
13 type/subtype[,...] ] [ -i iconfile.png ] [ -k ] [ -l location ] [ -m
14 model ] [ -n hostname ] [ -p port ] [ -r subtype[,subtype] ] [ -s
15 speed[,color-speed] ] [ -v[vvv] ] service-name
16
18 ippeveprinter is a simple Internet Printing Protocol (IPP) server con‐
19 forming to the IPP Everywhere (PWG 5100.14) specification. It can be
20 used to test client software or act as a very basic print server that
21 runs a command for every job that is printed.
22
24 The following options are recognized by ippeveprinter:
25
26 --help
27 Show program usage.
28
29 --no-web-forms
30 Disable the web interface forms used to update the media and sup‐
31 ply levels.
32
33 --pam-service service
34 Set the PAM service name. The default service is "cups".
35
36 --version
37 Show the CUPS version.
38
39 -2 Report support for two-sided (duplex) printing.
40
41 -A Enable authentication for the created printer. ippeveprinter uses
42 PAM to authenticate HTTP Basic credentials.
43
44 -D device-uri
45 Set the device URI for print output. The URI can be a filename,
46 directory, or a network socket URI of the form
47 "socket://ADDRESS[:PORT]" (where the default port number is 9100).
48 When specifying a directory, ippeveprinter will create an output
49 file using the job ID and name.
50
51 -F output-type/subtype[,...]
52 Specifies the output MIME media type. The default is "applica‐
53 tion/postscript" when the -P option is specified.
54
55 -M manufacturer
56 Set the manufacturer of the printer. The default is "Example".
57
58 -P filename.ppd
59 Load printer attributes from the specified PPD file. This option
60 is typically used in conjunction with the ippeveps(7) printer com‐
61 mand ("-c ippeveps").
62
63 -V 1.1
64
65 -V 2.0
66 Specifies the maximum IPP version to report. 2.0 is the default.
67
68 -c command
69 Run the specified command for each document that is printed. If
70 "command" is not an absolute path ("/path/to/command"),
71 ippeveprinter looks for the command in the "command" subdirectory
72 of the CUPS binary directory, typically /usr/lib/cups/command or
73 /usr/libexec/cups/command. The cups-config(1) command can be used
74 to discover the correct binary directory ("cups-config
75 --serverbin"). In addition, the CUPS_SERVERBIN environment vari‐
76 able can be used to override the default location of this direc‐
77 tory - see the cups(1) man page for more details.
78
79 -d spool-directory
80 Specifies the directory that will hold the print files. The
81 default is a directory under the user's current temporary direc‐
82 tory.
83
84 -f type/subtype[,...]
85 Specifies a list of MIME media types that the server will accept.
86 The default depends on the type of printer created.
87
88 -i iconfile.png
89 Specifies the printer icon file for the server. The file must be
90 a PNG format image. The default is an internally-provided PNG
91 image.
92
93 -k Keeps the print documents in the spool directory rather than
94 deleting them.
95
96 -l location
97 Specifies the human-readable location string that is reported by
98 the server. The default is the empty string.
99
100 -m model
101 Specifies the model name of the printer. The default is
102 "Printer".
103
104 -n hostname
105 Specifies the hostname that is reported by the server. The
106 default is the name returned by the hostname(1) command.
107
108 -p port
109 Specifies the port number to listen on. The default is a user-
110 specific number from 8000 to 8999.
111
112 -r off
113 Turns off DNS-SD service advertisements entirely.
114
115 -r subtype[,subtype]
116 Specifies the DNS-SD subtype(s) to advertise. Separate multiple
117 subtypes with a comma. The default is "_print".
118
119 -s speed[,color-speed]
120 Specifies the printer speed in pages per minute. If two numbers
121 are specified and the second number is greater than zero, the
122 server will report support for color printing. The default is
123 "10,0".
124
125 -v[vvv]
126 Be (very) verbose when logging activity to standard error.
127
129 The ippeveprinter program returns 1 if it is unable to process the com‐
130 mand-line arguments or register the IPP service. Otherwise
131 ippeveprinter will run continuously until terminated.
132
134 The ippeveprinter program is unique to CUPS and conforms to the IPP
135 Everywhere (PWG 5100.14) specification.
136
138 ippeveprinter adds environment variables starting with "IPP_" for all
139 IPP Job attributes in the print request. For example, when executing a
140 command for an IPP Job containing the "media" Job Template attribute,
141 the "IPP_MEDIA" environment variable will be set to the value of that
142 attribute.
143
144 In addition, all IPP "xxx-default" and "pwg-xxx" Printer Description
145 attributes are added to the environment. For example, the
146 "IPP_MEDIA_DEFAULT" environment variable will be set to the default
147 value for the "media" Job Template attribute.
148
149 Enumerated values are converted to their keyword equivalents. For
150 example, a "print-quality" Job Template attribute with a enum value of
151 3 will become the "IPP_PRINT_QUALITY" environment variable with a value
152 of "draft". This string conversion only happens for standard Job Tem‐
153 plate attributes, currently "finishings", "orientation-requested", and
154 "print-quality".
155
156 Finally, the "CONTENT_TYPE" environment variable contains the MIME
157 media type of the document being printed, the "DEVICE_URI" environment
158 variable contains the device URI as specified with the "-D" option, the
159 "OUTPUT_FORMAT" environment variable contains the output MIME media
160 type, and the "PPD" environment variable contains the PPD filename as
161 specified with the "-P" option.
162
164 Unless they communicate directly with a printer, print commands send
165 printer-ready data to the standard output.
166
167 Print commands can send messages back to ippeveprinter on the standard
168 error with one of the following prefixes:
169
170 ATTR: attribute=value[ attribute=value]
171 Sets the named attribute(s) to the given values. Currently only
172 the "job-impressions" and "job-impressions-completed" Job Status
173 attributes and the "marker-xxx", "printer-alert", "printer-alert-
174 description", "printer-supply", and "printer-supply-description"
175 Printer Status attributes can be set.
176
177 DEBUG: Debugging message
178 Logs a debugging message if at least two -v's have been specified.
179
180 ERROR: Error message
181 Logs an error message and copies the message to the "job-state-
182 message" attribute.
183
184 INFO: Informational message
185 Logs an informational/progress message if -v has been specified
186 and copies the message to the "job-state-message" attribute unless
187 an error has been reported.
188
189 STATE: keyword[,keyword,...]
190 Sets the printer's "printer-state-reasons" attribute to the listed
191 keywords.
192
193 STATE: -keyword[,keyword,...]
194 Removes the listed keywords from the printer's "printer-state-rea‐
195 sons" attribute.
196
197 STATE: +keyword[,keyword,...]
198 Adds the listed keywords to the printer's "printer-state-reasons"
199 attribute.
200
202 Run ippeveprinter with a service name of My Cool Printer:
203
204 ippeveprinter "My Cool Printer"
205
206 Run the file(1) command whenever a job is sent to the server:
207
208 ippeveprinter -c /usr/bin/file "My Cool Printer"
209
211 ippevepcl(7), ippeveps(7), PWG Internet Printing Protocol Workgroup
212 (http://www.pwg.org/ipp)
213
215 Copyright © 2007-2019 by Apple Inc.
216
217
218
2192 December 2019 CUPS ippeveprinter(1)