PRINTERS.CONF(5) File Formats and Configurations PRINTERS.CONF(5)
NAME
printers.conf - system printing configuration database
SYNOPSIS
/etc/printers.conf LDAP
ou=printers NIS
printers.conf.bynameDESCRIPTION
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 database.
Entries
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:
printer-uri-supported=scheme://endpoint 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 provided.
lpsched://localhost/printers/queue This is URI form is used for print queues that are
configured under the local LP service.
ipp://server[:
port]/printers/queue http://server:631/printers/queue ipp://server[:port]/... 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 service.
lpd://server/printers/queue[#Solaris] 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.
bsdaddr=server,destination[
,Solaris]
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.
use=destination Sets the destination to continue searching for configuration
information.
destination is an atomic, URI-style
(
scheme://
endpoint), or Posix-style name (
server:
printer).
all=destination_list 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
cancel(1).
LP Server Options
The following
LP configuration options (represented as
key=value pairs) are supported:
user-equivalence=true|
false 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.
EXAMPLES
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:
_all:all=printer1,printer2,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.
printer1|ps:bsdaddr=server,ps_printer 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.
printer2:printer-uri-supported=lpd//server/printers/pcl_printer#Solaris 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
another_printer.
printer3:bsdaddr=server,new_printer:use=another_printer Example 5: Setting Default Destination
The following entry sets the default destination to continue
searching for configuration information to destination
printer1.
_default:use=printer1 Example 6: Using IPP as the URI
The following example uses IPP as the URI:
printer4:printer-uri-supported=ipp\://server/printers/queueFILES
/etc/printers.conf System configuration database
$HOME/.printers User-configurable printer database
ou=printers LDAP version of
/etc/printers.conf printers.conf.byname (
NIS)
NIS version of
/etc/printers.confATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+----------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+----------------+-----------------+
|Stability Level | Stable |
+----------------+-----------------+
SEE ALSO
cancel(1),
enable(1),
lp(1),
lpstat(1),
lpq(1B),
lpr(1B),
lprm(1B),
nsswitch.conf(5),
printers(5),
attributes(7),
standards(7),
accept(8),
in.lpd(8),
lpadmin(8),
lpget(8),
lpmove(8),
lpset(8) System Administration Guide: Basic Administration February 21, 2023 PRINTERS.CONF(5)