]> git.ipfire.org Git - thirdparty/cups.git/blob - man/ippeveprinter.1
Changelog
[thirdparty/cups.git] / man / ippeveprinter.1
1 .\"
2 .\" ippeveprinter man page for CUPS.
3 .\"
4 .\" Copyright © 2014-2019 by Apple Inc.
5 .\"
6 .\" Licensed under Apache License v2.0. See the file "LICENSE" for more
7 .\" information.
8 .\"
9 .TH ippeveprinter 1 "CUPS" "17 May 2019" "Apple Inc."
10 .SH NAME
11 ippeveprinter \- an ipp everywhere printer application for cups
12 .SH SYNOPSIS
13 .B ippeveprinter
14 [
15 .B \-\-help
16 ] [
17 .B \-\-no\-web\-forms
18 ] [
19 .B \-\-version
20 ] [
21 .B \-2
22 ] [
23 .B \-D
24 .I device-uri
25 ] [
26 .B \-F
27 .I output-type/subtype
28 ] [
29 .B \-K
30 .I keypath
31 ] [
32 .B \-M
33 .I manufacturer
34 ] [
35 .B \-P
36 .I filename.ppd
37 ] [
38 .B \-V
39 .I ipp-version
40 ] [
41 .B \-a
42 .I filename.conf
43 ] [
44 .B \-c
45 .I command
46 ] [
47 .B \-d
48 .I spool-directory
49 ] [
50 .B \-f
51 .I type/subtype[,...]
52 ] [
53 .B \-i
54 .I iconfile.png
55 ] [
56 .B \-k
57 ] [
58 .B \-l
59 .I location
60 ] [
61 .B \-m
62 .I model
63 ] [
64 .B \-n
65 .I hostname
66 ] [
67 .B \-p
68 .I port
69 ] [
70 .B \-r
71 .I subtype[,subtype]
72 ] [
73 .B \-s
74 .I speed[,color-speed]
75 ] [
76 .B \-v[vvv]
77 ]
78 .I service-name
79 .SH DESCRIPTION
80 .B ippeveprinter
81 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.
82 .SH OPTIONS
83 The following options are recognized by
84 .B ippeveprinter:
85 .TP 5
86 .B \-\-help
87 Show program usage.
88 .TP 5
89 .B \-\-no\-web\-forms
90 Disable the web interface forms used to update the media and supply levels.
91 .TP 5
92 .B \-\-version
93 Show the CUPS version.
94 .TP 5
95 .B \-2
96 Report support for two-sided (duplex) printing.
97 .TP 5
98 \fB\-D \fIdevice-uri\fR
99 Set the device URI for print output.
100 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).
101 When specifying a directory,
102 .B ippeveprinter
103 will create an output file using the job ID and name.
104 .TP 5
105 \fB\-F \fIoutput-type/subtype[,...]\fR
106 Specifies the output MIME media type.
107 The default is "application/postscript" when the \fB\-P\fR option is specified.
108 .TP 5
109 \fB\-M \fImanufacturer\fR
110 Set the manufacturer of the printer.
111 The default is "Example".
112 .TP 5
113 \fB\-P \fIfilename.ppd\fR
114 Load printer attributes from the specified PPD file.
115 This option is typically used in conjunction with the
116 .BR ippeveps (7)
117 printer command ("\-c ippeveps").
118 .TP 5
119 \fB\-V 1.1\fR
120 .TP 5
121 \fB\-V 2.0\fR
122 Specifies the maximum IPP version to report.
123 2.0 is the default.
124 .TP 5
125 \fB\-c \fIcommand\fR
126 Run the specified command for each document that is printed.
127 If "command" is not an absolute path ("/path/to/command"),
128 .B ippeveprinter
129 looks for the command in the "command" subdirectory of the CUPS binary directory, typically /usr/lib/cups/command or /usr/libexec/cups/command.
130 The
131 .BR cups-config (1)
132 command can be used to discover the correct binary directory ("cups-config --serverbin").
133 In addition, the CUPS_SERVERBIN environment variable can be used to override the default location of this directory - see the
134 .BR cups (1)
135 man page for more details.
136 .TP 5
137 \fB\-d \fIspool-directory\fR
138 Specifies the directory that will hold the print files.
139 The default is a directory under the user's current temporary directory.
140 .TP 5
141 \fB\-f \fItype/subtype[,...]\fR
142 Specifies a list of MIME media types that the server will accept.
143 The default depends on the type of printer created.
144 .TP 5
145 \fB\-i \fIiconfile.png\fR
146 Specifies the printer icon file for the server.
147 The file must be a PNG format image.
148 The default is an internally-provided PNG image.
149 .TP 5
150 .B \-k
151 Keeps the print documents in the spool directory rather than deleting them.
152 .TP 5
153 \fB\-l \fIlocation\fR
154 Specifies the human-readable location string that is reported by the server.
155 The default is the empty string.
156 .TP 5
157 \fB\-m \fImodel\fR
158 Specifies the model name of the printer.
159 The default is "Printer".
160 .TP 5
161 \fB\-n \fIhostname\fR
162 Specifies the hostname that is reported by the server.
163 The default is the name returned by the
164 .BR hostname (1)
165 command.
166 .TP 5
167 \fB\-p \fIport\fR
168 Specifies the port number to listen on.
169 The default is a user-specific number from 8000 to 8999.
170 .TP 5
171 \fB\-r \fIsubtype[,subtype]\fR
172 Specifies the DNS-SD subtype(s) to advertise.
173 Separate multiple subtypes with a comma.
174 The default is "_print".
175 .TP 5
176 \fB\-s \fIspeed[,color-speed]\fR
177 Specifies the printer speed in pages per minute.
178 If two numbers are specified and the second number is greater than zero, the server will report support for color printing.
179 The default is "10,0".
180 .TP 5
181 .B \-v[vvv]
182 Be (very) verbose when logging activity to standard error.
183 .SH EXIT STATUS
184 The
185 .B ippeveprinter
186 program returns 1 if it is unable to process the command-line arguments or register the IPP service.
187 Otherwise
188 .B ippeveprinter
189 will run continuously until terminated.
190 .SH CONFORMING TO
191 The
192 .B ippeveprinter
193 program is unique to CUPS and conforms to the IPP Everywhere (PWG 5100.14) specification.
194 .SH ENVIRONMENT
195 .B ippeveprinter
196 adds environment variables starting with "IPP_" for all IPP Job attributes in the print request.
197 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.
198 .LP
199 In addition, all IPP "xxx-default" and "pwg-xxx" Printer Description attributes are added to the environment.
200 For example, the "IPP_MEDIA_DEFAULT" environment variable will be set to the default value for the "media" Job Template attribute.
201 .LP
202 Enumerated values are converted to their keyword equivalents.
203 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".
204 This string conversion only happens for standard Job Template attributes, currently "finishings", "orientation-requested", and "print-quality".
205 .LP
206 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.
207 .SH COMMAND OUTPUT
208 Unless they communicate directly with a printer, print commands send printer-ready data to the standard output.
209 .LP
210 Print commands can send messages back to
211 .B ippeveprinter
212 on the standard error with one of the following prefixes:
213 .TP 5
214 \fBATTR: \fIattribute=value[ attribute=value]\fR
215 Sets the named attribute(s) to the given values.
216 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.
217 .TP 5
218 \fBDEBUG: \fIDebugging message\fR
219 Logs a debugging message if at least two \-v's have been specified.
220 .TP 5
221 \fBERROR: \fIError message\fR
222 Logs an error message and copies the message to the "job-state-message" attribute.
223 .TP 5
224 \fBINFO: \fIInformational message\fR
225 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.
226 .TP 5
227 \fBSTATE: \fIkeyword[,keyword,...]\fR
228 Sets the printer's "printer-state-reasons" attribute to the listed keywords.
229 .TP 5
230 \fBSTATE: -\fIkeyword[,keyword,...]\fR
231 Removes the listed keywords from the printer's "printer-state-reasons" attribute.
232 .TP 5
233 \fBSTATE: +\fIkeyword[,keyword,...]\fR
234 Adds the listed keywords to the printer's "printer-state-reasons" attribute.
235 .SH EXAMPLES
236 Run
237 .B ippeveprinter
238 with a service name of My Cool Printer:
239 .nf
240
241 ippeveprinter "My Cool Printer"
242 .fi
243 .LP
244 Run the
245 .BR file (1)
246 command whenever a job is sent to the server:
247 .nf
248
249 ippeveprinter \-c /usr/bin/file "My Cool Printer"
250 .fi
251 .SH SEE ALSO
252 .BR ippevepcl (7),
253 .BR ippeveps (7),
254 PWG Internet Printing Protocol Workgroup (http://www.pwg.org/ipp)
255 .SH COPYRIGHT
256 Copyright \[co] 2007-2019 by Apple Inc.