<HTML> <!-- SECTION: References --> <HEAD> <TITLE>printers.conf</TITLE> </HEAD> <BODY> <P>The CUPS scheduler (cupsd) uses the <VAR>/etc/cups/printers.conf</VAR> file to store the list of available printers. This file contains only locally defined printers, not remote printers that are created automatically via browsing. Each directive is listed on a line by itself followed by its value. Comments are introduced using the number sign ("#") character at the beginning of a line.</P> <P>While the printer configuration file consists of plain text and can be modified using your favorite text editor, you should normally use the <A HREF="man-lpadmin.html">lpadmin(8)</A> command, web interface, or any of the available GUIs to manage your printers instead. If you do choose to edit this file manually, you will need to restart the scheduler to make them active.</P> <H2 CLASS="title"><A NAME="Accepting">Accepting</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... Accepting yes </Printer> </PRE> <H3>Description</H3> <P>The <CODE>Accepting</CODE> directive defines the initial state of the <VAR>printer-is-accepting-jobs</VAR> attribute. This state is also set by the <CODE>accept(8)</CODE> and <CODE>reject(8)</CODE> commands:</P> <PRE CLASS="command"> <KBD>/usr/sbin/accept printername /usr/sbin/reject printername</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><A NAME="AllowUser">AllowUser</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... AllowUser foo_user AllowUser @bar_group </Printer> </PRE> <H3>Description</H3> <P>The <CODE>AllowUser</CODE> directive adds a username or group name to the <VAR>requesting-user-name-allowed</VAR> attribute which can be set by the <CODE>lpadmin(8)</CODE> command:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -u allow:foo_user,@bar_group</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> directive. This directive cannot be used with <A HREF="#DenyUser"><CODE>DenyUser</CODE></A>.</P> <H2 CLASS="title"><A NAME="DefaultPrinter">DefaultPrinter</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <DefaultPrinter name> ... </Printer> </PRE> <H3>Description</H3> <P>The <CODE>DefaultPrinter</CODE> directive begins a printer definition as the default server destination. The default server destination can be set using the <CODE>lpadmin(8)</CODE> command:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -d printername</KBD> </PRE> <P>Note that the server default destination settings can be overridden by the user's default destination settings which are normally set using the <CODE>lpoptions(1)</CODE> command.</P> <H2 CLASS="title"><A NAME="DenyUser">DenyUser</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... DenyUser foo_user DenyUser @bar_group </Printer> </PRE> <H3>Description</H3> <P>The <CODE>DenyUser</CODE> directive adds a username or group name to the <VAR>requesting-user-name-denied</VAR> attribute which can be set by the <CODE>lpadmin(8)</CODE> command:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -u deny:foo_user,@bar_group</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> directive. This directive cannot be used with <A HREF="#AllowUser"><CODE>AllowUser</CODE></A></P> <H2 CLASS="title"><A NAME="DeviceURI">DeviceURI</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... DeviceURI socket://foo.bar.com:9100 </Printer> </PRE> <H3>Description</H3> <P>The <CODE>DeviceURI</CODE> directive defines the value of the <VAR>device-uri-attribute</VAR> attribute. It is normally set using the <CODE>lpadmin(8)</CODE> command:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -v device-uri</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="ErrorPolicy">ErrorPolicy</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... ErrorPolicy abort-job </Printer> </PRE> <H3>Description</H3> <P>The <CODE>ErrorPolicy</CODE> directive defines the policy that is used when a backend is unable to send a print job to the printer. The <CODE>lpadmin(8)</CODE> command sets the current error policy:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -o printer-error-policy=stop-printer</KBD> </PRE> <P>The following values are supported:</P> <UL> <LI><CODE>abort-job</CODE> - Abort the job and proceed with the next job in the queue</LI> <LI><CODE>retry-job</CODE> - Retry the job after waiting for N seconds; the <VAR>cupsd.conf</VAR> <A HREF="ref-cupsd-conf.html#JobRetryInterval"><CODE>JobRetryInterval</CODE></A> directive controls the value of N</LI> <LI><CODE>stop-printer</CODE> - Stop the printer and keep the job for future printing; this is the default value</LI> </UL> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><A NAME="Info">Info</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... Info My Printer </Printer> </PRE> <H3>Description</H3> <P>The <CODE>Info</CODE> directive defines the string for the <VAR>printer-info</VAR> attribute. It is normally set using the <CODE>lpadmin(8)</CODE> command:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -D "My Printer"</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><A NAME="JobSheets">JobSheets</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... JobSheets none,standard </Printer> </PRE> <H3>Description</H3> <P>The <CODE>JobSheets</CODE> directive specifies the default banner pages to print before and after a print job. In the above example, only a <VAR>standard</VAR> banner will print after each job. The <CODE>lpadmin(8)</CODE> command is normally used to set the default banners: <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -o job-sheets-default=none,standard</KBD> </PRE> <P>If only one banner file is specified, it will be printed before the files in the job. If a second banner file is specified, it is printed after the files in the job.</P> <P>The available banner pages depend on the local system configuration; CUPS includes the following standard banner files:</P> <UL> <LI><CODE>none</CODE> - Do not produce a banner page.</LI> <LI><CODE>classified</CODE> - A banner page with a "classified" label at the top and bottom.</LI> <LI><CODE>confidential</CODE> - A banner page with a "confidential" label at the top and bottom.</LI> <LI><CODE>secret</CODE> - A banner page with a "secret" label at the top and bottom.</LI> <LI><CODE>standard</CODE> - A banner page with no label at the top and bottom.</LI> <LI><CODE>topsecret</CODE> - A banner page with a "top secret" label at the top and bottom.</LI> <LI><CODE>unclassified</CODE> - A banner page with an "unclassified" label at the top and bottom.</LI> </UL> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><A NAME="KLimit">KLimit</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... KLimit 1234 </Printer> </PRE> <H3>Description</H3> <P>The <CODE>KLimit</CODE> directive defines the value of the <VAR>job-k-limit</VAR> attribute. It is normally set using the <CODE>lpadmin(8)</CODE> command:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -o job-k-limit=1234</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><A NAME="Location">Location</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... Location Building 3321 </Printer> </PRE> <H3>Description</H3> <P>The <CODE>Location</CODE> directive defines the string for the <VAR>printer-location</VAR> attribute. It is normally set using the <CODE>lpadmin(8)</CODE> command:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -L "Building 3321"</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="OpPolicy">OpPolicy</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... OpPolicy default </Printer> </PRE> <H3>Description</H3> <P>The <CODE>OpPolicy</CODE> directive sets the operation policy that is used for the printer. The <CODE>lpadmin(8)</CODE> command sets the current operation policy:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -o printer-op-policy=default</KBD> </PRE> <P>The default policy is named "default". All policies correspond to those defined using the <VAR>cupsd.conf</VAR> <A HREF="ref-cupsd-conf.html#Policy"><CODE>Policy</CODE></A> section.</P> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="Option">Option</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... Option name value Option scaling 100 Option page-left 72 </Printer> </PRE> <H3>Description</H3> <P>The <CODE>Option</CODE> directive specifies a default job template attribute value. It is mapped to <CODE>name-default</CODE> in the printer attributes and applied to jobs as <CODE>name</CODE>.</P> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><A NAME="PageLimit">PageLimit</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... PageLimit 1234 </Printer> </PRE> <H3>Description</H3> <P>The <CODE>PageLimit</CODE> directive defines the value of the <VAR>job-page-limit</VAR> attribute. It can be set using the <CODE>lpadmin(8)</CODE> command:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -o job-page-limit=1234</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="PortMonitor">PortMonitor</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... PortMonitor bcp </Printer> </PRE> <H3>Description</H3> <P>The <CODE>PortMonitor</CODE> directive sets the filter program that is used for every print job, typically to encode or package the print data in a format acceptable for a particular printer interface. It is set using the <CODE>lpadmin(8)</CODE> command:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -o port-monitor=tbcp</KBD> </PRE> <P>The following standard port monitors are included with CUPS:</P> <UL> <LI><CODE>bcp</CODE> - Encode PostScript print data using the Adobe Binary Control Protocol (BCP)</LI> <LI><CODE>none</CODE> - Do not use a port monitor</LI> <LI><CODE>tbcp</CODE> - Encode PostScript print data using the Adobe Tagged Binary Control Protocol (TBCP)</LI> </UL> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><A NAME="Printer">Printer</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... </Printer> </PRE> <H3>Description</H3> <P>The <CODE>Printer</CODE> directive begins a printer definition. Printers are added using the <CODE>lpadmin(8)</CODE> command: <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername ...</KBD> </PRE> <H2 CLASS="title"><A NAME="QuotaPeriod">QuotaPeriod</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... QuotaPeriod 604800 </Printer> </PRE> <H3>Description</H3> <P>The <CODE>QuotaPeriod</CODE> directive defines the value of the <VAR>job-quota-period</VAR> attribute. Typical values are 86400 (1 day), 604800 (1 week), 2592000 (1 month), and 31536000 (1 year). It is set using the <CODE>lpadmin(8)</CODE> command:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -o job-quota-period=604800</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="Shared">Shared</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... Shared yes </Printer> </PRE> <H3>Description</H3> <P>The <CODE>Shared</CODE> directive defines the initial value of the <VAR>printer-is-shared</VAR> attribute. The strings <VAR>yes</VAR> and <VAR>no</VAR> correspond to the true and false values, respectively. The <CODE>lpadmin(8)</CODE> command sets the current state:</P> <PRE CLASS="command"> <KBD>/usr/sbin/lpadmin -p printername -o printer-is-shared=true</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><A NAME="State">State</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... State idle </Printer> </PRE> <H3>Description</H3> <P>The <CODE>State</CODE> directive defines the initial value of the <VAR>printer-state</VAR> attribute. The strings <VAR>idle</VAR> and <VAR>stopped</VAR> correspond to the IPP enumeration values 3 and 5, respectively. The <CODE>cupsenable(8)</CODE> and <CODE>cupsdisable(8)</CODE> commands set the current state:</P> <PRE CLASS="command"> <KBD>/usr/sbin/cupsenable printername</KBD> <KBD>/usr/sbin/cupsdisable printername</KBD> </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><A NAME="StateMessage">StateMessage</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... StateMessage Ready to print. </Printer> </PRE> <H3>Description</H3> <P>The <CODE>StateMessage</CODE> directive defines the initial string for the <VAR>printer-state-message</VAR> attribute. The following are some example messages:</P> <PRE CLASS="command"> StateMessage Connected to host_name... StateMessage Connecting to printer_queue on port port_number... StateMessage Network host host_name is busy; will retry in 30 seconds... StateMessage Printer busy; will retry in 10 seconds... StateMessage Printer is busy; retrying print job... StateMessage Print file accepted - job ID id_number. StateMessage Ready to print. StateMessage Waiting for job to complete </PRE> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="StateTime">StateTime</A></H2> <H3>Examples</H3> <PRE CLASS="command"> <Printer name> ... StateTime 1133542425 </Printer> </PRE> <H3>Description</H3> <P>The <CODE>StateTime</CODE> directive defines the UNIX time (seconds since Jan 1, 1970) for the last state change of the queue. It is mapped to the <VAR>printer-state-change-time</VAR> attribute.</P> <P>This directive must appear inside a <A HREF="#Printer"><CODE>Printer</CODE></A> or <A HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A> section.</P> </BODY> </HTML>