2 <!-- SECTION: References -->
4 <TITLE>printers.conf
</TITLE>
8 <P>The CUPS scheduler (cupsd) uses the
9 <VAR>/etc/cups/printers.conf
</VAR> file to store the list of
10 available printers. This file contains only locally defined
11 printers, not remote printers that are created automatically via
12 browsing. Each directive is listed on a line by itself followed
13 by its value. Comments are introduced using the number sign (
"#")
14 character at the beginning of a line.
</P>
16 <P>While the printer configuration file consists of plain text
17 and can be modified using your favorite text editor, you should
18 normally use the
<A HREF=
"man-lpadmin.html">lpadmin(
8)
</A>
19 command, web interface, or any of the available GUIs to manage
20 your printers instead. If you do choose to edit this file
21 manually, you will need to restart the scheduler to make them
25 <H2 CLASS=
"title"><A NAME=
"Accepting">Accepting
</A></H2>
38 <P>The
<CODE>Accepting
</CODE> directive defines the initial state
39 of the
<VAR>printer-is-accepting-jobs
</VAR> attribute. This state
40 is also set by the
<CODE>accept(
8)
</CODE> and
41 <CODE>reject(
8)
</CODE> commands:
</P>
44 <KBD>/usr/sbin/accept printername
45 /usr/sbin/reject printername
</KBD>
48 <P>This directive must appear inside a
<A
49 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
50 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
54 <H2 CLASS=
"title"><A NAME=
"AllowUser">AllowUser
</A></H2>
68 <P>The
<CODE>AllowUser
</CODE> directive adds a username or group
69 name to the
<VAR>requesting-user-name-allowed
</VAR> attribute
70 which can be set by the
<CODE>lpadmin(
8)
</CODE> command:
</P>
73 <KBD>/usr/sbin/lpadmin -p printername -u allow:foo_user,@bar_group
</KBD>
76 <P>This directive must appear inside a
<A
77 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
78 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A> directive.
79 This directive cannot be used with
<A
80 HREF=
"#DenyUser"><CODE>DenyUser
</CODE></A>.
</P>
83 <H2 CLASS=
"title"><A NAME=
"DefaultPrinter">DefaultPrinter
</A></H2>
88 <DefaultPrinter name
>
95 <P>The
<CODE>DefaultPrinter
</CODE> directive begins a printer
96 definition as the default server destination. The default server
97 destination can be set using the
<CODE>lpadmin(
8)
</CODE>
100 <PRE CLASS=
"command">
101 <KBD>/usr/sbin/lpadmin -d printername
</KBD>
104 <P>Note that the server default destination settings can be
105 overridden by the user's default destination settings which are
106 normally set using the
<CODE>lpoptions(
1)
</CODE> command.
</P>
109 <H2 CLASS=
"title"><A NAME=
"DenyUser">DenyUser
</A></H2>
113 <PRE CLASS=
"command">
123 <P>The
<CODE>DenyUser
</CODE> directive adds a username or group
124 name to the
<VAR>requesting-user-name-denied
</VAR> attribute
125 which can be set by the
<CODE>lpadmin(
8)
</CODE> command:
</P>
127 <PRE CLASS=
"command">
128 <KBD>/usr/sbin/lpadmin -p printername -u deny:foo_user,@bar_group
</KBD>
131 <P>This directive must appear inside a
<A
132 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
133 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A> directive.
134 This directive cannot be used with
<A
135 HREF=
"#AllowUser"><CODE>AllowUser
</CODE></A></P>
138 <H2 CLASS=
"title"><A NAME=
"DeviceURI">DeviceURI
</A></H2>
142 <PRE CLASS=
"command">
145 DeviceURI socket://foo.bar.com:
9100
151 <P>The
<CODE>DeviceURI
</CODE> directive defines the value of the
152 <VAR>device-uri-attribute
</VAR> attribute. It is normally set
153 using the
<CODE>lpadmin(
8)
</CODE> command:
</P>
155 <PRE CLASS=
"command">
156 <KBD>/usr/sbin/lpadmin -p printername -v device-uri
</KBD>
159 <P>This directive must appear inside a
<A
160 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
161 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
165 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"ErrorPolicy">ErrorPolicy
</A></H2>
169 <PRE CLASS=
"command">
172 ErrorPolicy abort-job
178 <P>The
<CODE>ErrorPolicy
</CODE> directive defines the policy that
179 is used when a backend is unable to send a print job to the
180 printer. The
<CODE>lpadmin(
8)
</CODE> command sets the current
183 <PRE CLASS=
"command">
184 <KBD>/usr/sbin/lpadmin -p printername -o printer-error-policy=stop-printer
</KBD>
187 <P>The following values are supported:
</P>
191 <LI><CODE>abort-job
</CODE> - Abort the job and proceed
192 with the next job in the queue
</LI>
194 <LI><CODE>retry-job
</CODE> - Retry the job after waiting
195 for N seconds; the
<VAR>cupsd.conf
</VAR> <A
196 HREF=
"ref-cupsd-conf.html#JobRetryInterval"><CODE>JobRetryInterval
</CODE></A>
197 directive controls the value of N
</LI>
199 <LI><CODE>stop-printer
</CODE> - Stop the printer and keep
200 the job for future printing; this is the default
205 <P>This directive must appear inside a
<A
206 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
207 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
211 <H2 CLASS=
"title"><A NAME=
"Info">Info
</A></H2>
215 <PRE CLASS=
"command">
224 <P>The
<CODE>Info
</CODE> directive defines the string for the
225 <VAR>printer-info
</VAR> attribute. It is normally set using the
226 <CODE>lpadmin(
8)
</CODE> command:
</P>
228 <PRE CLASS=
"command">
229 <KBD>/usr/sbin/lpadmin -p printername -D
"My Printer"</KBD>
232 <P>This directive must appear inside a
<A
233 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
234 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
238 <H2 CLASS=
"title"><A NAME=
"JobSheets">JobSheets
</A></H2>
242 <PRE CLASS=
"command">
245 JobSheets none,standard
251 <P>The
<CODE>JobSheets
</CODE> directive specifies the default
252 banner pages to print before and after a print job. In the above
253 example, only a
<VAR>standard
</VAR> banner will print after each
254 job. The
<CODE>lpadmin(
8)
</CODE> command is normally used to set
257 <PRE CLASS=
"command">
258 <KBD>/usr/sbin/lpadmin -p printername -o job-sheets-default=none,standard
</KBD>
261 <P>If only one banner file is specified, it will be printed
262 before the files in the job. If a second banner file is
263 specified, it is printed after the files in the job.
</P>
265 <P>The available banner pages depend on the local system
266 configuration; CUPS includes the following standard banner
271 <LI><CODE>none
</CODE> - Do not produce a banner
274 <LI><CODE>classified
</CODE> - A banner page with a
275 "classified
" label at the top and bottom.
</LI>
277 <LI><CODE>confidential
</CODE> - A banner page with a
278 "confidential
" label at the top and bottom.
</LI>
280 <LI><CODE>secret
</CODE> - A banner page with a
281 "secret
" label at the top and bottom.
</LI>
283 <LI><CODE>standard
</CODE> - A banner page with no label
284 at the top and bottom.
</LI>
286 <LI><CODE>topsecret
</CODE> - A banner page with a
287 "top secret
" label at the top and bottom.
</LI>
289 <LI><CODE>unclassified
</CODE> - A banner page with an
290 "unclassified
" label at the top and bottom.
</LI>
294 <P>This directive must appear inside a
<A
295 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
296 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
300 <H2 CLASS=
"title"><A NAME=
"KLimit">KLimit
</A></H2>
304 <PRE CLASS=
"command">
313 <P>The
<CODE>KLimit
</CODE> directive defines the value of the
314 <VAR>job-k-limit
</VAR> attribute. It is normally set using the
315 <CODE>lpadmin(
8)
</CODE> command:
</P>
317 <PRE CLASS=
"command">
318 <KBD>/usr/sbin/lpadmin -p printername -o job-k-limit=
1234</KBD>
321 <P>This directive must appear inside a
<A
322 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
323 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
327 <H2 CLASS=
"title"><A NAME=
"Location">Location
</A></H2>
331 <PRE CLASS=
"command">
334 Location Building
3321
340 <P>The
<CODE>Location
</CODE> directive defines the string for the
341 <VAR>printer-location
</VAR> attribute. It is normally set using the
342 <CODE>lpadmin(
8)
</CODE> command:
</P>
344 <PRE CLASS=
"command">
345 <KBD>/usr/sbin/lpadmin -p printername -L
"Building 3321"</KBD>
348 <P>This directive must appear inside a
<A
349 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
350 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
354 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"OpPolicy">OpPolicy
</A></H2>
358 <PRE CLASS=
"command">
367 <P>The
<CODE>OpPolicy
</CODE> directive sets the operation policy
368 that is used for the printer. The
<CODE>lpadmin(
8)
</CODE> command
369 sets the current operation policy:
</P>
371 <PRE CLASS=
"command">
372 <KBD>/usr/sbin/lpadmin -p printername -o printer-op-policy=default
</KBD>
375 <P>The default policy is named
"default". All policies correspond
376 to those defined using the
<VAR>cupsd.conf
</VAR> <A
377 HREF=
"ref-cupsd-conf.html#Policy"><CODE>Policy
</CODE></A>
380 <P>This directive must appear inside a
<A
381 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
382 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
386 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"Option">Option
</A></H2>
390 <PRE CLASS=
"command">
401 <P>The
<CODE>Option
</CODE> directive specifies a default job
402 template attribute value. It is mapped to
403 <CODE>name-default
</CODE> in the printer attributes and applied
404 to jobs as
<CODE>name
</CODE>.
</P>
406 <P>This directive must appear inside a
<A
407 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
408 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
412 <H2 CLASS=
"title"><A NAME=
"PageLimit">PageLimit
</A></H2>
416 <PRE CLASS=
"command">
425 <P>The
<CODE>PageLimit
</CODE> directive defines the value of the
426 <VAR>job-page-limit
</VAR> attribute. It can be set using the
427 <CODE>lpadmin(
8)
</CODE> command:
</P>
429 <PRE CLASS=
"command">
430 <KBD>/usr/sbin/lpadmin -p printername -o job-page-limit=
1234</KBD>
433 <P>This directive must appear inside a
<A
434 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
435 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
439 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"PortMonitor">PortMonitor
</A></H2>
443 <PRE CLASS=
"command">
452 <P>The
<CODE>PortMonitor
</CODE> directive sets the filter program that
453 is used for every print job, typically to encode or package the print
454 data in a format acceptable for a particular printer interface. It is
455 set using the
<CODE>lpadmin(
8)
</CODE> command:
</P>
457 <PRE CLASS=
"command">
458 <KBD>/usr/sbin/lpadmin -p printername -o port-monitor=tbcp
</KBD>
461 <P>The following standard port monitors are included with CUPS:
</P>
465 <LI><CODE>bcp
</CODE> - Encode PostScript print data using
466 the Adobe Binary Control Protocol (BCP)
</LI>
468 <LI><CODE>none
</CODE> - Do not use a port monitor
</LI>
470 <LI><CODE>tbcp
</CODE> - Encode PostScript print data
471 using the Adobe Tagged Binary Control Protocol
476 <P>This directive must appear inside a
<A
477 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
478 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
482 <H2 CLASS=
"title"><A NAME=
"Printer">Printer
</A></H2>
486 <PRE CLASS=
"command">
494 <P>The
<CODE>Printer
</CODE> directive begins a printer
495 definition. Printers are added using the
<CODE>lpadmin(
8)
</CODE>
498 <PRE CLASS=
"command">
499 <KBD>/usr/sbin/lpadmin -p printername ...
</KBD>
503 <H2 CLASS=
"title"><A NAME=
"QuotaPeriod">QuotaPeriod
</A></H2>
507 <PRE CLASS=
"command">
516 <P>The
<CODE>QuotaPeriod
</CODE> directive defines the value of
517 the
<VAR>job-quota-period
</VAR> attribute. Typical values are
518 86400 (
1 day),
604800 (
1 week),
2592000 (
1 month), and
31536000
519 (
1 year). It is set using the
<CODE>lpadmin(
8)
</CODE>
522 <PRE CLASS=
"command">
523 <KBD>/usr/sbin/lpadmin -p printername -o job-quota-period=
604800</KBD>
526 <P>This directive must appear inside a
<A
527 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
528 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
532 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"Shared">Shared
</A></H2>
536 <PRE CLASS=
"command">
545 <P>The
<CODE>Shared
</CODE> directive defines the initial value of
546 the
<VAR>printer-is-shared
</VAR> attribute. The strings
547 <VAR>yes
</VAR> and
<VAR>no
</VAR> correspond to the true and false
548 values, respectively. The
<CODE>lpadmin(
8)
</CODE> command sets
549 the current state:
</P>
551 <PRE CLASS=
"command">
552 <KBD>/usr/sbin/lpadmin -p printername -o printer-is-shared=true
</KBD>
555 <P>This directive must appear inside a
<A
556 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
557 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
561 <H2 CLASS=
"title"><A NAME=
"State">State
</A></H2>
565 <PRE CLASS=
"command">
574 <P>The
<CODE>State
</CODE> directive defines the initial value of
575 the
<VAR>printer-state
</VAR> attribute. The strings
576 <VAR>idle
</VAR> and
<VAR>stopped
</VAR> correspond to the IPP
577 enumeration values
3 and
5, respectively. The
578 <CODE>cupsenable(
8)
</CODE> and
<CODE>cupsdisable(
8)
</CODE>
579 commands set the current state:
</P>
581 <PRE CLASS=
"command">
582 <KBD>/usr/sbin/cupsenable printername
</KBD>
583 <KBD>/usr/sbin/cupsdisable printername
</KBD>
586 <P>This directive must appear inside a
<A
587 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
588 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
592 <H2 CLASS=
"title"><A NAME=
"StateMessage">StateMessage
</A></H2>
596 <PRE CLASS=
"command">
599 StateMessage Ready to print.
605 <P>The
<CODE>StateMessage
</CODE> directive defines the initial
606 string for the
<VAR>printer-state-message
</VAR> attribute. The
607 following are some example messages:
</P>
609 <PRE CLASS=
"command">
610 StateMessage Connected to host_name...
611 StateMessage Connecting to printer_queue on port port_number...
612 StateMessage Network host host_name is busy; will retry in
30 seconds...
613 StateMessage Printer busy; will retry in
10 seconds...
614 StateMessage Printer is busy; retrying print job...
615 StateMessage Print file accepted - job ID id_number.
616 StateMessage Ready to print.
617 StateMessage Waiting for job to complete
620 <P>This directive must appear inside a
<A
621 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
622 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
626 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"StateTime">StateTime
</A></H2>
630 <PRE CLASS=
"command">
639 <P>The
<CODE>StateTime
</CODE> directive defines the UNIX time
640 (seconds since Jan
1,
1970) for the last state change of the
641 queue. It is mapped to the
<VAR>printer-state-change-time
</VAR>
644 <P>This directive must appear inside a
<A
645 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
646 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>