Provided by: netatalk_2.0.3-9_i386
papd.conf - Configuration file used by papd(8) to determine the
configuration of printers used by the Netatalk printing daemon
/etc/netatalk/papd.conf is the configuration file used by papd to
configure the printing services offered by netatalk. Please note that
papd must be enabled in /etc/netatalk/netatalk.conf for this to take
any effect. papd shares the same defaults as lpd on many systems, but
Any line not prefixed with # is interpreted. The configuration lines
are composed like:
On systems running a System V printing system the simplest case is to
have either no papd.conf, or to have one that has no active lines. In
this case, atalkd should auto-discover the local printers on the
machine. Please note that you can split lines by using \\fR.
printername may be just a name (Printer 1), or it may be a full name in
nbp_name format (Printer 1:LaserWriter@My Zone).
Systems using a BSD printing system should make use of a pipe to the
printing command in question within the pr option (eg. pr=|/usr/bin/lpr
-J%J -u%U). Note: When printing using a pipe, papd recognizes several
wildcards: %F will be replaced by the name present in the "%%For:"
comment in the PostScript stream, same with %J for the "%%Title:"
comment. %U will be substituted with the login name (the latter applies
only when authenticated printing is in effect).
When CUPS support is compiled in, then cupsautoadd as the first entry
in papd.conf will automagically share all CUPS printers by papd
utilizing the PPDs assigned in CUPS (customizable -- see below). This
can be overwritten for individal printers by subsequently adding
individual entries using the CUPS queue name as pr entry. Note: CUPS
support is mutually exclusive with System V support described above.
The possible options are colon delimited (:), and lines must be
terminated with colons. The possible options and flags are:
The am option allows specific UAMs to be specified for a
particular printer. It has no effect if the au flag is not
present or if papd authentication was not built into netatalk.
Note: possible values are uams_guest.so and uams_clrtxt.so only.
The first method requires a valid username, but no password. The
second requires both a valid username and the correct password.
au If present, this flag enables authentication for the printer.
Please note that papd authentication must be built into netatalk
for this to take effect.
The co option allows options to be passed through to CUPS (eg.
co="protocol=TBCP" or co="raw").
If used as the first entry in papd.conf this will share all CUPS
printers via papd. type/zone settings as well as other
parameters assigned to this special printer share will apply to
all CUPS printers. Unless the pd option is set, the CUPS PPDs
will be used. To overwrite these global settings for individual
printers simply add them subsequently to papd.conf and assign
fo If present, this flag enables a hack to translate line endings
originating from pre Mac OS X LaserWriter drivers to let
foomatic-rip recognize foomatic PPD options set in the printer
dialog. Attention: Use with caution since this might corrupt
binary print jobs!
This specifies the operator name, for lpd spooling.
Allows specification of Appletalk addresses. Usually not needed.
pd=(path to ppd file)
Specifies a particular PPD (printer description file) to
associate with the selected printer.
pr=(lpd/CUPS printer name or pipe command)
Sets the lpd or CUPS printer that this is spooled to.
Unless CUPS support has been compiled in (which is default from
Netatalk 2.0 on) one simply defines the lpd queue in question by
setting the pr parameter to the queue name, in the following example
"ps". If no pr parameter is set, the default printer will be used.
papd.conf System V printing system examples
The first spooler is known by the AppleTalk name Mac Printer Spooler,
and uses a PPD file located in /usr/share/lib/ppd. In addition, the
user mcs will be the owner of all jobs that are spooled. The second
spooler is known as HP Printer and all options are the default.
Mac Printer Spooler:\
An alternative to the technique outlined above is to direct papd’s
output via a pipe into another program. Using this mechanism almost all
printing systems can be driven. Netatalk supplies three "wildcards"
that get substituted with values of the already printed job: %F, %U and
%J. Using these wildcards, one can pass those parameters directly to
programs or implement small wrapper scripts to call the printing system
papd.conf examples using pipes
The first spooler is known as HP 8100. It pipes the print job to
/usr/bin/lpr for printing using the value of the %%Title: comment as
job name. PSSP authenticated printing is enabled, as is CAP-style
authenticated printing. Both methods support guest and cleartext
authentication as specified by the ’am’ option. The PPD used is
/etc/atalk/ppds/hp8100.ppd. The second spooler is called "Dump
PostScript" and uses a pipe to cat to send the raw PostScript code into
the user’s home directory into a file called like the printjob.
:pr=|/usr/bin/lpr -Plp -J"%J":\
Starting with Netatalk 2.0 direct CUPS integration is available. In
this case, defining only a queue name as pr parameter won’t invoke the
SysV lpd daemon but uses CUPS instead. Unless a specific PPD has been
assigned using the pd switch, the PPD configured in CUPS will be used
by papd, too.
There exists one special share named "cupsautoadd". If this is present
as the first entry then all available CUPS queues will be served
automagically using the parameters assigned to this global share. But
subsequent printer definitions can be used to override these global
settings for individual spoolers.
papd.conf CUPS examples
The first entry sets up automatic sharing of all CUPS printers. All
those shares appear in the zone "1st floor" and since no additional
settings have been made, they use the CUPS printer name as NBP name and
use the PPD configured in CUPS. The second entry defines different
settings for one single CUPS printer. It’s NBP name is differing from
the printer’s name and the registration happens in another zone.
Boss’ LaserWriter@2nd floor:\
papd(8), atalkd.conf(5), lpd(8), lpoptions(8)