1ippeveprinter(1) OpenPrinting 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 "socket://AD‐
47 DRESS[:PORT]" (where the default port number is 9100). When spec‐
48 ifying a directory, ippeveprinter will create an output file using
49 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 de‐
81 fault is a directory under the user's current temporary directory.
82
83 -f type/subtype[,...]
84 Specifies a list of MIME media types that the server will accept.
85 The default depends on the type of printer created.
86
87 -i iconfile.png
88 Specifies the printer icon file for the server. The file must be
89 a PNG format image. The default is an internally-provided PNG im‐
90 age.
91
92 -k Keeps the print documents in the spool directory rather than
93 deleting them.
94
95 -l location
96 Specifies the human-readable location string that is reported by
97 the server. The default is the empty string.
98
99 -m model
100 Specifies the model name of the printer. The default is
101 "Printer".
102
103 -n hostname
104 Specifies the hostname that is reported by the server. The de‐
105 fault is the name returned by the hostname(1) command.
106
107 -p port
108 Specifies the port number to listen on. The default is a user-
109 specific number from 8000 to 8999.
110
111 -r off
112 Turns off DNS-SD service advertisements entirely.
113
114 -r subtype[,subtype]
115 Specifies the DNS-SD subtype(s) to advertise. Separate multiple
116 subtypes with a comma. The default is "_print".
117
118 -s speed[,color-speed]
119 Specifies the printer speed in pages per minute. If two numbers
120 are specified and the second number is greater than zero, the
121 server will report support for color printing. The default is
122 "10,0".
123
124 -v[vvv]
125 Be (very) verbose when logging activity to standard error.
126
128 The ippeveprinter program returns 1 if it is unable to process the com‐
129 mand-line arguments or register the IPP service. Otherwise
130 ippeveprinter will run continuously until terminated.
131
133 The ippeveprinter program is unique to CUPS and conforms to the IPP Ev‐
134 erywhere (PWG 5100.14) specification.
135
137 ippeveprinter adds environment variables starting with "IPP_" for all
138 IPP Job attributes in the print request. For example, when executing a
139 command for an IPP Job containing the "media" Job Template attribute,
140 the "IPP_MEDIA" environment variable will be set to the value of that
141 attribute.
142
143 In addition, all IPP "xxx-default" and "pwg-xxx" Printer Description
144 attributes are added to the environment. For example, the "IPP_ME‐
145 DIA_DEFAULT" environment variable will be set to the default value for
146 the "media" Job Template attribute.
147
148 Enumerated values are converted to their keyword equivalents. For ex‐
149 ample, a "print-quality" Job Template attribute with a enum value of 3
150 will become the "IPP_PRINT_QUALITY" environment variable with a value
151 of "draft". This string conversion only happens for standard Job Tem‐
152 plate attributes, currently "finishings", "orientation-requested", and
153 "print-quality".
154
155 Finally, the "CONTENT_TYPE" environment variable contains the MIME me‐
156 dia type of the document being printed, the "DEVICE_URI" environment
157 variable contains the device URI as specified with the "-D" option, the
158 "OUTPUT_FORMAT" environment variable contains the output MIME media
159 type, and the "PPD" environment variable contains the PPD filename as
160 specified with the "-P" option.
161
163 Unless they communicate directly with a printer, print commands send
164 printer-ready data to the standard output.
165
166 Print commands can send messages back to ippeveprinter on the standard
167 error with one of the following prefixes:
168
169 ATTR: attribute=value[ attribute=value]
170 Sets the named attribute(s) to the given values. Currently only
171 the "job-impressions" and "job-impressions-completed" Job Status
172 attributes and the "marker-xxx", "printer-alert", "printer-alert-
173 description", "printer-supply", and "printer-supply-description"
174 Printer Status attributes can be set.
175
176 DEBUG: Debugging message
177 Logs a debugging message if at least two -v's have been specified.
178
179 ERROR: Error message
180 Logs an error message and copies the message to the "job-state-
181 message" attribute.
182
183 INFO: Informational message
184 Logs an informational/progress message if -v has been specified
185 and copies the message to the "job-state-message" attribute unless
186 an error has been reported.
187
188 STATE: keyword[,keyword,...]
189 Sets the printer's "printer-state-reasons" attribute to the listed
190 keywords.
191
192 STATE: -keyword[,keyword,...]
193 Removes the listed keywords from the printer's "printer-state-rea‐
194 sons" attribute.
195
196 STATE: +keyword[,keyword,...]
197 Adds the listed keywords to the printer's "printer-state-reasons"
198 attribute.
199
201 Run ippeveprinter with a service name of My Cool Printer:
202
203 ippeveprinter "My Cool Printer"
204
205 Run the file(1) command whenever a job is sent to the server:
206
207 ippeveprinter -c /usr/bin/file "My Cool Printer"
208
210 ippevepcl(7), ippeveps(7), PWG Internet Printing Protocol Workgroup
211 (http://www.pwg.org/ipp)
212
214 Copyright © 2021-2022 by OpenPrinting.
215
216
217
2182021-02-28 CUPS ippeveprinter(1)