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>cupsaccept(
8)
</CODE> and
41 <CODE>cupsreject(
8)
</CODE> commands:
</P>
44 <KBD>/usr/sbin/cupsaccept printername
45 /usr/sbin/cupsreject 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-current-job
</CODE> - Retry the current job
197 <LI><CODE>retry-job
</CODE> - Retry the job after waiting
198 for N seconds; the
<VAR>cupsd.conf
</VAR> <A
199 HREF=
"ref-cupsd-conf.html#JobRetryInterval"><CODE>JobRetryInterval
</CODE></A>
200 directive controls the value of N
</LI>
202 <LI><CODE>stop-printer
</CODE> - Stop the printer and keep
203 the job for future printing; this is the default
208 <P>This directive must appear inside a
<A
209 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
210 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
214 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.4</SPAN><A NAME=
"Filter">Filter
</A></H2>
218 <PRE CLASS=
"command">
221 Filter mime/type
100 program
227 <P>The
<CODE>Filter
</CODE> directive lists a single filter program as defined
228 in the printer's PPD file.
</P>
230 <P>This directive must appear inside a
231 <A HREF=
"#Printer"><CODE>Printer
</CODE></A> or
232 <A HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A> section.
</P>
235 <H2 CLASS=
"title"><A NAME=
"Info">Info
</A></H2>
239 <PRE CLASS=
"command">
248 <P>The
<CODE>Info
</CODE> directive defines the string for the
249 <VAR>printer-info
</VAR> attribute. It is normally set using the
250 <CODE>lpadmin(
8)
</CODE> command:
</P>
252 <PRE CLASS=
"command">
253 <KBD>/usr/sbin/lpadmin -p printername -D
"My Printer"</KBD>
256 <P>This directive must appear inside a
<A
257 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
258 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
262 <H2 CLASS=
"title"><A NAME=
"JobSheets">JobSheets
</A></H2>
266 <PRE CLASS=
"command">
269 JobSheets none,standard
275 <P>The
<CODE>JobSheets
</CODE> directive specifies the default
276 banner pages to print before and after a print job. In the above
277 example, only a
<VAR>standard
</VAR> banner will print after each
278 job. The
<CODE>lpadmin(
8)
</CODE> command is normally used to set
281 <PRE CLASS=
"command">
282 <KBD>/usr/sbin/lpadmin -p printername -o job-sheets-default=none,standard
</KBD>
285 <P>If only one banner file is specified, it will be printed
286 before the files in the job. If a second banner file is
287 specified, it is printed after the files in the job.
</P>
289 <P>The available banner pages depend on the local system
290 configuration; CUPS includes the following standard banner
295 <LI><CODE>none
</CODE> - Do not produce a banner
298 <LI><CODE>classified
</CODE> - A banner page with a
299 "classified
" label at the top and bottom.
</LI>
301 <LI><CODE>confidential
</CODE> - A banner page with a
302 "confidential
" label at the top and bottom.
</LI>
304 <LI><CODE>secret
</CODE> - A banner page with a
305 "secret
" label at the top and bottom.
</LI>
307 <LI><CODE>standard
</CODE> - A banner page with no label
308 at the top and bottom.
</LI>
310 <LI><CODE>topsecret
</CODE> - A banner page with a
311 "top secret
" label at the top and bottom.
</LI>
313 <LI><CODE>unclassified
</CODE> - A banner page with an
314 "unclassified
" label at the top and bottom.
</LI>
318 <P>This directive must appear inside a
<A
319 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
320 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
324 <H2 CLASS=
"title"><A NAME=
"KLimit">KLimit
</A></H2>
328 <PRE CLASS=
"command">
337 <P>The
<CODE>KLimit
</CODE> directive defines the value of the
338 <VAR>job-k-limit
</VAR> attribute. It is normally set using the
339 <CODE>lpadmin(
8)
</CODE> command:
</P>
341 <PRE CLASS=
"command">
342 <KBD>/usr/sbin/lpadmin -p printername -o job-k-limit=
1234</KBD>
345 <P>This directive must appear inside a
<A
346 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
347 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
351 <H2 CLASS=
"title"><A NAME=
"Location">Location
</A></H2>
355 <PRE CLASS=
"command">
358 Location Building
3321
364 <P>The
<CODE>Location
</CODE> directive defines the string for the
365 <VAR>printer-location
</VAR> attribute. It is normally set using the
366 <CODE>lpadmin(
8)
</CODE> command:
</P>
368 <PRE CLASS=
"command">
369 <KBD>/usr/sbin/lpadmin -p printername -L
"Building 3321"</KBD>
372 <P>This directive must appear inside a
<A
373 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
374 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
378 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"OpPolicy">OpPolicy
</A></H2>
382 <PRE CLASS=
"command">
391 <P>The
<CODE>OpPolicy
</CODE> directive sets the operation policy
392 that is used for the printer. The
<CODE>lpadmin(
8)
</CODE> command
393 sets the current operation policy:
</P>
395 <PRE CLASS=
"command">
396 <KBD>/usr/sbin/lpadmin -p printername -o printer-op-policy=default
</KBD>
399 <P>The default policy is named
"default". All policies correspond
400 to those defined using the
<VAR>cupsd.conf
</VAR> <A
401 HREF=
"ref-cupsd-conf.html#Policy"><CODE>Policy
</CODE></A>
404 <P>This directive must appear inside a
<A
405 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
406 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
410 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"Option">Option
</A></H2>
414 <PRE CLASS=
"command">
425 <P>The
<CODE>Option
</CODE> directive specifies a default job
426 template attribute value. It is mapped to
427 <CODE>name-default
</CODE> in the printer attributes and applied
428 to jobs as
<CODE>name
</CODE>.
</P>
430 <P>This directive must appear inside a
<A
431 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
432 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
436 <H2 CLASS=
"title"><A NAME=
"PageLimit">PageLimit
</A></H2>
440 <PRE CLASS=
"command">
449 <P>The
<CODE>PageLimit
</CODE> directive defines the value of the
450 <VAR>job-page-limit
</VAR> attribute. It can be set using the
451 <CODE>lpadmin(
8)
</CODE> command:
</P>
453 <PRE CLASS=
"command">
454 <KBD>/usr/sbin/lpadmin -p printername -o job-page-limit=
1234</KBD>
457 <P>This directive must appear inside a
<A
458 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
459 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
463 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"PortMonitor">PortMonitor
</A></H2>
467 <PRE CLASS=
"command">
476 <P>The
<CODE>PortMonitor
</CODE> directive sets the filter program that
477 is used for every print job, typically to encode or package the print
478 data in a format acceptable for a particular printer interface. It is
479 set using the
<CODE>lpadmin(
8)
</CODE> command:
</P>
481 <PRE CLASS=
"command">
482 <KBD>/usr/sbin/lpadmin -p printername -o port-monitor=tbcp
</KBD>
485 <P>The following standard port monitors are included with CUPS:
</P>
489 <LI><CODE>bcp
</CODE> - Encode PostScript print data using
490 the Adobe Binary Control Protocol (BCP)
</LI>
492 <LI><CODE>none
</CODE> - Do not use a port monitor
</LI>
494 <LI><CODE>tbcp
</CODE> - Encode PostScript print data
495 using the Adobe Tagged Binary Control Protocol
500 <P>This directive must appear inside a
<A
501 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
502 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
506 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.4</SPAN><A NAME=
"PreFilter">PreFilter
</A></H2>
510 <PRE CLASS=
"command">
513 PreFilter mime/type
100 program
519 <P>The
<CODE>PreFilter
</CODE> directive lists a single pre-filter program as
520 defined in the printer's PPD file.
</P>
522 <P>This directive must appear inside a
523 <A HREF=
"#Printer"><CODE>Printer
</CODE></A> or
524 <A HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A> section.
</P>
527 <H2 CLASS=
"title"><A NAME=
"Printer">Printer
</A></H2>
531 <PRE CLASS=
"command">
539 <P>The
<CODE>Printer
</CODE> directive begins a printer
540 definition. Printers are added using the
<CODE>lpadmin(
8)
</CODE>
543 <PRE CLASS=
"command">
544 <KBD>/usr/sbin/lpadmin -p printername ...
</KBD>
548 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.4</SPAN><A NAME=
"Product">Product
</A></H2>
552 <PRE CLASS=
"command">
555 Product Acme PaperWriter
561 <P>The
<CODE>Product
</CODE> directive defines the main product string from the
562 printer's PPD file and is used when advertising the queue via DNS-SD.
</P>
564 <P>This directive must appear inside a
565 <A HREF=
"#Printer"><CODE>Printer
</CODE></A> or
566 <A HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A> section.
</P>
569 <H2 CLASS=
"title"><A NAME=
"QuotaPeriod">QuotaPeriod
</A></H2>
573 <PRE CLASS=
"command">
582 <P>The
<CODE>QuotaPeriod
</CODE> directive defines the value of
583 the
<VAR>job-quota-period
</VAR> attribute. Typical values are
584 86400 (
1 day),
604800 (
1 week),
2592000 (
1 month), and
31536000
585 (
1 year). It is set using the
<CODE>lpadmin(
8)
</CODE>
588 <PRE CLASS=
"command">
589 <KBD>/usr/sbin/lpadmin -p printername -o job-quota-period=
604800</KBD>
592 <P>This directive must appear inside a
<A
593 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
594 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
598 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"Shared">Shared
</A></H2>
602 <PRE CLASS=
"command">
611 <P>The
<CODE>Shared
</CODE> directive defines the initial value of
612 the
<VAR>printer-is-shared
</VAR> attribute. The strings
613 <VAR>yes
</VAR> and
<VAR>no
</VAR> correspond to the true and false
614 values, respectively. The
<CODE>lpadmin(
8)
</CODE> command sets
615 the current state:
</P>
617 <PRE CLASS=
"command">
618 <KBD>/usr/sbin/lpadmin -p printername -o printer-is-shared=true
</KBD>
621 <P>This directive must appear inside a
<A
622 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
623 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
627 <H2 CLASS=
"title"><A NAME=
"State">State
</A></H2>
631 <PRE CLASS=
"command">
640 <P>The
<CODE>State
</CODE> directive defines the initial value of
641 the
<VAR>printer-state
</VAR> attribute. The strings
642 <VAR>idle
</VAR> and
<VAR>stopped
</VAR> correspond to the IPP
643 enumeration values
3 and
5, respectively. The
644 <CODE>cupsenable(
8)
</CODE> and
<CODE>cupsdisable(
8)
</CODE>
645 commands set the current state:
</P>
647 <PRE CLASS=
"command">
648 <KBD>/usr/sbin/cupsenable printername
</KBD>
649 <KBD>/usr/sbin/cupsdisable printername
</KBD>
652 <P>This directive must appear inside a
<A
653 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
654 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
658 <H2 CLASS=
"title"><A NAME=
"StateMessage">StateMessage
</A></H2>
662 <PRE CLASS=
"command">
665 StateMessage Ready to print.
671 <P>The
<CODE>StateMessage
</CODE> directive defines the initial
672 string for the
<VAR>printer-state-message
</VAR> attribute. The
673 following are some example messages:
</P>
675 <PRE CLASS=
"command">
676 StateMessage Connected to host_name...
677 StateMessage Connecting to printer_queue on port port_number...
678 StateMessage Network host host_name is busy; will retry in
30 seconds...
679 StateMessage Printer busy; will retry in
10 seconds...
680 StateMessage Printer is busy; retrying print job...
681 StateMessage Print file accepted - job ID id_number.
682 StateMessage Ready to print.
683 StateMessage Waiting for job to complete
686 <P>This directive must appear inside a
<A
687 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
688 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>
692 <H2 CLASS=
"title"><SPAN CLASS=
"info">CUPS
1.2</SPAN><A NAME=
"StateTime">StateTime
</A></H2>
696 <PRE CLASS=
"command">
705 <P>The
<CODE>StateTime
</CODE> directive defines the UNIX time
706 (seconds since Jan
1,
1970) for the last state change of the
707 queue. It is mapped to the
<VAR>printer-state-change-time
</VAR>
710 <P>This directive must appear inside a
<A
711 HREF=
"#Printer"><CODE>Printer
</CODE></A> or
<A
712 HREF=
"#DefaultPrinter"><CODE>DefaultPrinter
</CODE></A>