PRINTERS.CONF(5) Standards, Environments, and Macros PRINTERS.CONF(5)


printers.conf - system printing configuration database








The printers.conf file is the system printing configuration database.
System administrators use printers.conf to describe destinations for the
print client commands and the print protocol adaptor. A destination names
a printer or class of printers. See lpadmin(8). The LP print spooler uses
private LP configuration data for represented in the printers.conf


Each entry in printers.conf describes one destination. Entries are one
line consisting of any number of fields separated by colons (`:') and
terminated by a NEWLINE. The first field of each entry specifies the name
of the destination and aliases to which the entry describes. Specify one
or more names or aliases of the destination in this first field. Specify
the destination using atomic names. URI-style and POSIX-style names are
not acceptable. See standards(7). Separate destination names by pipe
signs (`|').

Two destination names are reserved for special use in the first entry.
Use _all to specify the interest list for lpget, lpstat, and cancel. Use
_default to specify the default destination.

The remaining fields in an entry are key=value pairs. See Specifying
Configuration Options for details regarding key=value pairs.

Empty lines can be included for readability. Entries can continue on to
multiple lines by adding a backslash (`\') as the last character in the
line. printers.conf can include comments. Comments have a pound sign
(`#') as the first character in the line, and are terminated by a
NEWLINE. Use the lpset command to create or modify printers.conf. See
lpset(8). Do not make changes in printers.conf by using an editor.

Specifying Configuration Options

key=value pairs are configuration options defined by the system
administrator. key and value can be of arbitrary length. Separate key
and value by the equal (`=') character.

Client/Server Configuration Options
The following client/server configuration options (represented as
key=value pairs) are supported:


Provides the information necessary to contact the print service for
the entry. The scheme generally identifies the print service or
protocol to use. Currently this is limited to lpsched, ipp, and lpd
but might be expanded in the future. Each of these schemes imposes a
set of restrictions for specifying the endpoint and the functionality


This is URI form is used for print queues that are configured
under the local LP service.


This URI form is used for print queues that are remotely
accessible by way of the Internet Print Protocol. This protocol
is the preferred method of accessing remote print queues because
it provides the greatest functionality over the wire. The ipp uri
scheme is specified in the internet print protocol specifications
and is much more free form than listed above. The actual content
and format of the endpoint is determined by the remote print


This URI form is used for print queues that are remotely
accessible by way of the BSD Print Protocol. Though limited in
capability, this protocol is widely used between client and
server. It provides maximum interoperability with remote print
services. When used to communicate with print services on a
Solaris print server, the optional #Solaris component of the URI
indicates that Solaris protocol extensions can be used during
print job submission.

If an entry does not contain a printer-uri-supported key/value pair,
the bsdaddr value is converted to its equivalent uri form and a
printer-uri-supported key/value pair is added to the resulting data
returned to applications requesting printer configuration data.


Sets the server and destination name. Sets if the client generates
protocol extensions for use with the lp command (see lp(1)). Solaris
specifies a Solaris print server extension. If Solaris is not
specified, no protocol extensions are generated. server is the name
of the host containing the queue for destination. destination is the
atomic name by which the server knows the destination. If the
configuration file contents are to be shared with legacy systems
(Solaris 2.6 - Solaris 10), this key/value pair should be provided
for backward compatibility.


Sets the destination to continue searching for configuration
information. destination is an atomic, URI-style
(scheme://endpoint), or Posix-style name (server:printer).


Sets the interest list for the lpget, lpstat, and cancel commands.
destination_list is a comma-separated list of destinations. Specify
destination using atomic, URI-style (scheme://endpoint), or Posix-
style names (server:printer). See lpget(8), lpstat(1), and

LP Server Options

The following LP configuration options (represented as key=value pairs)
are supported:


Sets whether or not usernames are considered equivalent when
cancelling a print request submitted from a different host in a
networked environment. true means that usernames are considered
equivalent, and permits users to cancel a print requests submitted
from a different host. user-equivalence is set to false by default.
false means that usernames are not considered equivalent, and does
not permit users cancel a print request submitted from a different
host. If user-equivalence is set to false, print requests can only be
cancelled by the users on the host on which the print request was
generated or by the superuser on the print server.

Print Queue Name Resolution

Applications needing to resolve print queue names (destinations) to the
associated print service and communications endpoint make use of a
specific name resolution ordering. Destination names in URI and POSIX
form are complete unto themselves and require no further resolution.
Names in atomic form are resolved based on the printers database entry in
the /etc/nsswitch.conf file. See nsswitch.conf(5)

Locating the Personal Default Destination

The default destination is located differently depending on the command.

The lp command locates the default destination in the following order:

1. lp command's -d destination option.

2. LPDEST environment variable.

3. PRINTER environment variable.

4. _default destination in $HOME/.printers.

5. _default destination in /etc/printers.conf.

The lpr, lpq, and lprm commands locate the default destination in the
following order:

1. lpr command's -P destination option.

2. PRINTER environment variable.

3. LPDEST environment variable.

4. _default destination in $HOME/.printers.

5. _default destination in /etc/printers.conf.

Locating the Interest List for lpstat, lpget, and cancel
The lpget, lpstat, and cancel commands locate the interest list in the
following order:

1. _all list in $HOME/.printers.

2. _all list in /etc/printers.conf.


Example 1: Setting the Interest List

The following entry sets the interest list for the lpget, lpstat and
cancel commands to printer1, printer2 and printer3:


Example 2: Setting the Server Name

The following entry sets the server name to server and printer name to
ps_printer for destinations printer1 and ps. It does not generate BSD
protocol extensions.


Example 3: Setting Server Name and Destination Name

The following entry sets the server name to server and destination name
to pcl_printer, for destination printer2. It also generates Solaris
protocol extensions.


Example 4: Setting Server Name and Destination Name with Continuous Search

The following entry sets the server name to server and destination name
to new_printer, for destination printer3. It also sets the printer3 to
continue searching for configuration information to printer


Example 5: Setting Default Destination

The following entry sets the default destination to continue searching
for configuration information to destination printer1.


Example 6: Using IPP as the URI

The following example uses IPP as the URI:



System configuration database

User-configurable printer database

LDAP version of /etc/printers.conf

printers.conf.byname (NIS)
NIS version of /etc/printers.conf


See attributes(7) for descriptions of the following attributes:

|Stability Level | Stable |


cancel(1), enable(1), enable(1), lp(1), lpstat(1), lpq(1B), lpr(1B),
lprm(1B), nsswitch.conf(5), printers(5), attributes(7), standards(7),
accept(8), accept(8), in.lpd(8), lpadmin(8), lpget(8), lpmove(8),

System Administration Guide: Basic Administration

February 25, 2017 PRINTERS.CONF(5)