1papd.conf(5) Netatalk papd.conf(5)
2
3
4
6 papd.conf - Configuration file used by papd(8) to determine the config‐
7 uration of printers used by the Netatalk printing daemon
8
10 /etc/atalk//papd.conf is the configuration file used by papd to config‐
11 ure the printing services offered by netatalk. Please note that papd
12 must be enabled in /etc/atalk//netatalk.conf for this to take any
13 effect. papd shares the same defaults as lpd on many systems, but not
14 Solaris.
15
16 Any line not prefixed with # is interpreted. The configuration lines
17 are composed like:
18
19 printername:[options]
20
21 On systems running a System V printing system the simplest case is to
22 have either no papd.conf, or to have one that has no active lines. In
23 this case, atalkd should auto-discover the local printers on the
24 machine. Please note that you can split lines by using \\fR.
25
26 printername may be just a name (Printer 1), or it may be a full name in
27 nbp_name format (Printer 1:LaserWriter@My Zone).
28
29 Systems using a BSD printing system should make use of a pipe to the
30 printing command in question within the pr option (eg. pr=|/usr/bin/lpr
31 -J%J -u%U). Note: When printing using a pipe, papd recognizes several
32 wildcards: %F will be replaced by the name present in the "%%For:" com‐
33 ment in the PostScript stream, same with %J for the "%%Title:" comment.
34 %U will be substituted with the login name (the latter applies only
35 when authenticated printing is in effect).
36
37 When CUPS support is compiled in, then cupsautoadd as the first entry
38 in papd.conf will automagically share all CUPS printers by papd utiliz‐
39 ing the PPDs assigned in CUPS (customizable -- see below). This can be
40 overwritten for individal printers by subsequently adding individual
41 entries using the CUPS queue name as pr entry. Note: CUPS support is
42 mutually exclusive with System V support described above.
43
44 The possible options are colon delimited (:), and lines must be termi‐
45 nated with colons. The possible options and flags are:
46
47 am=(uams list)
48 The am option allows specific UAMs to be specified for a partic‐
49 ular printer. It has no effect if the au flag is not present or
50 if papd authentication was not built into netatalk. Note: possi‐
51 ble values are uams_guest.so and uams_clrtxt.so only. The first
52 method requires a valid username, but no password. The second
53 requires both a valid username and the correct password.
54
55 au If present, this flag enables authentication for the printer.
56 Please note that papd authentication must be built into netatalk
57 for this to take effect.
58
59 co=(CUPS options)
60 The co option allows options to be passed through to CUPS (eg.
61 co="protocol=TBCP" or co="raw").
62
63 cupsautoadd[:type][@zone]
64 If used as the first entry in papd.conf this will share all CUPS
65 printers via papd. type/zone settings as well as other parame‐
66 ters assigned to this special printer share will apply to all
67 CUPS printers. Unless the pd option is set, the CUPS PPDs will
68 be used. To overwrite these global settings for individual
69 printers simply add them subsequently to papd.conf and assign
70 different settings.
71
72 fo If present, this flag enables a hack to translate line endings
73 originating from pre Mac OS X LaserWriter drivers to let
74 foomatic-rip recognize foomatic PPD options set in the printer
75 dialog. Attention: Use with caution since this might corrupt
76 binary print jobs!
77
78 op=(operator)
79 This specifies the operator name, for lpd spooling.
80
81 pa=(appletalk address)
82 Allows specification of Appletalk addresses. Usually not needed.
83
84 pd=(path to ppd file)
85 Specifies a particular PPD (printer description file) to asso‐
86 ciate with the selected printer.
87
88 pr=(lpd/CUPS printer name or pipe command)
89 Sets the lpd or CUPS printer that this is spooled to.
90
92 Unless CUPS support has been compiled in (which is default from
93 Netatalk 2.0 on) one simply defines the lpd queue in question by set‐
94 ting the pr parameter to the queue name, in the following example "ps".
95 If no pr parameter is set, the default printer will be used.
96
97 papd.conf System V printing system examples
98
99 The first spooler is known by the AppleTalk name Mac Printer Spooler,
100 and uses a PPD file located in /usr/share/lib/ppd. In addition, the
101 user mcs will be the owner of all jobs that are spooled. The second
102 spooler is known as HP Printer and all options are the default.
103
104 Mac Printer Spooler:\
105 :pr=ps:\
106 :pd=/usr/share/lib/ppd/HPLJ_4M.PPD:\
107 :op=mcs:
108
109 HP Printer:\
110 :
111
112 An alternative to the technique outlined above is to direct papd's out‐
113 put via a pipe into another program. Using this mechanism almost all
114 printing systems can be driven. Netatalk supplies three "wildcards"
115 that get substituted with values of the already printed job: %F, %U and
116 %J. Using these wildcards, one can pass those parameters directly to
117 programs or implement small wrapper scripts to call the printing system
118 in question.
119
120 papd.conf examples using pipes
121
122 The first spooler is known as HP 8100. It pipes the print job to
123 /usr/bin/lpr for printing using the value of the %%Title: comment as
124 job name. PSSP authenticated printing is enabled, as is CAP-style
125 authenticated printing. Both methods support guest and cleartext
126 authentication as specified by the 'am' option. The PPD used is
127 /etc/atalk/ppds/hp8100.ppd. The second spooler is called "Dump Post‐
128 Script" and uses a pipe to cat to send the raw PostScript code into the
129 user's home directory into a file called like the printjob.
130
131 HP 8100:\
132 :pr=|/usr/bin/lpr -Plp -J"%J":\
133 :sp:\
134 :ca=/tmp/print:\
135 :am=uams_guest.so,uams_pam.so:\
136 :pd=/etc/atalk/ppds/hp8100.ppd:
137
138 Dump PostScript:LaserWriter@Server:\
139 :pr=|cat >/home/%U/%J-prn.out:\
140 :pd=/usr/share/lib/ppd/mooralana.ppd:\
141 :sp:au:op=lp:\
142 :am=uams_clrtxt.so:
143
144 Starting with Netatalk 2.0 direct CUPS integration is available. In
145 this case, defining only a queue name as pr parameter won't invoke the
146 SysV lpd daemon but uses CUPS instead. Unless a specific PPD has been
147 assigned using the pd switch, the PPD configured in CUPS will be used
148 by papd, too.
149
150 There exists one special share named "cupsautoadd". If this is present
151 as the first entry then all available CUPS queues will be served
152 automagically using the parameters assigned to this global share. But
153 subsequent printer definitions can be used to override these global
154 settings for individual spoolers.
155
156 papd.conf CUPS examples
157
158 The first entry sets up automatic sharing of all CUPS printers. All
159 those shares appear in the zone "1st floor" and since no additional
160 settings have been made, they use the CUPS printer name as NBP name and
161 use the PPD configured in CUPS. The second entry defines different set‐
162 tings for one single CUPS printer. It's NBP name is differing from the
163 printer's name and the registration happens in another zone.
164
165 cupsautoadd@1st floor:op=root:
166
167 Boss' LaserWriter@2nd floor:\
168 :pr=laserwriter-chief:
169
171 papd(8), atalkd.conf(5), lpd(8), lpoptions(8)
172
173
174
175
1762.0.3 06 Sep 2004 papd.conf(5)