1cups-browsed.conf(5)                                      cups-browsed.conf(5)
2
3
4

NAME

6       cups-browsed.conf - server configuration file for cups-browsed
7

DESCRIPTION

9       The  cups-browsed.conf  file  configures the cups-browsed daemon. It is
10       normally located in the /etc/cups directory. Each line in the file  can
11       be a configuration directive, a blank line, or a comment. Comment lines
12       start with the # character.
13

DIRECTIVES

15       The "CacheDir" directive  determines  where  cups-browsed  should  save
16       information about the print queues it had generated when shutting down,
17       like whether one of these queues was the default  printer,  or  default
18       option settings of the queues.
19
20               CacheDir /var/cache/cups
21
22       With  "LogDir"  can be defined where cups-browsed creates its debug log
23       file (if "DebugLogging file" is set).
24
25               LogDir /var/log/cups
26
27       The "DebugLogging" directive determines how  should  debug  logging  be
28       done.  Into the file /var/log/cups/cups-browsed_log ("file"), to stderr
29       ("stderr"), or not at all ("none").
30
31               DebugLogging file
32               DebugLogging stderr
33               DebugLogging file stderr
34               DebugLogging none
35
36       Only browse remote printers (via DNS-SD or CUPS browsing) from selected
37       servers using the "BrowseAllow", "BrowseDeny", and "BrowseOrder" direc‐
38       tives
39
40       This serves for restricting the choice of printers in print dialogs  to
41       trusted servers or to reduce the number of listed printers in the print
42       dialogs to a more user-friendly amount in large networks with very many
43       shared printers.
44
45       This  only  filters  the  selection  of remote printers for which cups-
46       browsed creates local queues. If the print dialog uses other mechanisms
47       to  list  remote  printers  as  for example direct DNS-SD access, cups-
48       browsed has no influence. cups-browsed also does not prevent  the  user
49       from manually accessing non-listed printers.
50
51       "BrowseAllow":  Accept  printers from these hosts or networks. If there
52       are only "BrowseAllow" lines and no "BrowseOrder"  and/or  "BrowseDeny"
53       lines,  only  servers  matching  at  last  one  "BrowseAllow"  line are
54       accepted.
55
56       "BrowseDeny": Deny printers from these hosts or networks. If there  are
57       only  "BrowseDeny"  lines  and  no  "BrowseOrder"  and/or "BrowseAllow"
58       lines, all servers NOT matching  any  of  the  "BrowseDeny"  lines  are
59       accepted.
60
61       "BrowseOrder":   Determine   the   order  in  which  "BrowseAllow"  and
62       "BrowseDeny" lines are applied. With "BrowseOrder  Deny,Allow"  in  the
63       beginning  all  servers  are  accepted, then the "BrowseDeny" lines are
64       applied to exclude unwished servers or  networks  and  after  that  the
65       "BrowseAllow"  lines  to  re-include servers or networks. With "Browse‐
66       Order Allow,Deny" we start with denying all servers, then applying  the
67       "BrowseAllow" lines and afterwards the "BrowseDeny" lines.
68
69       Default  for "BrowseOrder" is "Deny.Allow" if there are both "BrowseAl‐
70       low" and "BrowseDeny" lines.
71
72       If there are no "Browse..." lines at all, all servers are accepted.
73
74               BrowseAllow All
75               BrowseAllow 192.168.7.20
76               BrowseAllow 192.168.7.0/24
77               BrowseAllow 192.168.7.0/255.255.255.0
78
79               BrowseDeny All
80               BrowseDeny 192.168.1.13
81               BrowseDeny 192.168.3.0/24
82               BrowseDeny 192.168.3.0/255.255.255.0
83
84               BrowseOrder Deny,Allow
85               BrowseOrder Allow,Deny
86
87       Filtering of remote printers by other properties than IP  addresses  of
88       their servers
89
90       Often  the desired selection of printers cannot be reached by only tak‐
91       ing into account the IP addresses of the servers. For these cases there
92       is the BrowseFilter directive to filter by most of the known properties
93       of the printer.
94
95       By default there is no BrowseFilter line meaning that no  filtering  is
96       applied.
97
98       To do filtering one can supply one or more BrowseFilter directives like
99       this:
100
101               BrowseFilter [NOT] [EXACT] <FIELD> [<VALUE>]
102
103       The BrowseFilter directive always starts with the  word  "BrowseFilter"
104       and  it  must  at least contain the name of the data field (<FIELD>) of
105       the printer's properties to which it should apply.
106
107       Available field names are:
108
109               name:    Name of the local print queue to be created
110               host:    Host name of the remote print server
111               port:    Port through which the printer is accessed on the server
112               service: DNS/SD service name of the remote printer
113               domain:  Domain of the remote print server
114
115       Also all field names in the TXT records of  DNS-SD-advertised  printers
116       are  valid, like "color", "duplex", "pdl", ... If the field name of the
117       filter rule does not exist for the printer, the rule is skipped.
118
119       The optional <VALUE> field is either the exact value (when  the  option
120       EXACT is supplied) or a regular expression (Run "man 7 regex" in a ter‐
121       minal window) to be matched with the data field.
122
123       If no <VALUE> filed is supplied, rules with  field  names  of  the  TXT
124       record  are  considered  for  boolean  matching (true/false) of boolean
125       field (like duplex, which can have the values "T" for true and "F"  for
126       false).
127
128       If the option NOT is supplied, the filter rule is fulfilled if the reg‐
129       ular expression or the exact value DOES NOT match the  content  of  the
130       data field. In a boolean rule (without <VALUE>) the rule matches false.
131
132       Regular expressions are always considered case-insensitive and extended
133       POSIX regular expressions. Field names and options (NOT, EXACT) are all
134       evaluated  case-insensitive.  If there is an error in a regular expres‐
135       sion, the BrowseFilter line gets ignored.
136
137       Especially to note is that supplying any simple  string  consisting  of
138       only  letters,  numbers, spaces, and some basic special characters as a
139       regular expression matches if it is contained  somewhere  in  the  data
140       field.
141
142       If  there  is  more than one BrowseFilter directive, ALL the directives
143       need to be fulfilled for the remote printer to be accepted. If  one  is
144       not fulfilled, the printer will get ignored.
145
146       Examples:
147
148       Rules  for  standard  data  items  which  are  supplied with any remote
149       printer advertised via DNS-SD:
150
151       Print queue name must contain "hum_res_", this  matches  "hum_res_mono"
152       or "hum_res_color" but also "old_hum_res_mono":
153
154               BrowseFilter name hum_res_
155
156       This  matches  if  the  remote  host  name contains "printserver", like
157       "printserver.local", "printserver2.example.com", "newprintserver":
158
159               BrowseFilter host printserver
160
161       This matches all ports with 631 int its number, for example 631,  8631,
162       10631,...:
163
164               BrowseFilter port 631
165
166       This rule matches if the DNS-SD service name contains "@ printserver":
167
168               Browsefilter service @ printserver
169
170       Matches  all  domains with "local" in their names, not only "local" but
171       also things like "printlocally.com":
172
173               BrowseFilter domain local
174
175       Examples for rules applying to items of the TXT record:
176
177       This rule selects PostScript printers, as the "PDL" field  in  the  TXT
178       record  contains  "postscript"  then.  This  includes  also remote CUPS
179       queues which accept PostScript, independent  of  whether  the  physical
180       printer behind the CUPS queue accepts PostScript or not.
181
182               BrowseFilter pdl postscript
183
184       Color printers usually contain a "Color" entry set to "T" (for true) in
185       the TXT record. This rule selects them:
186
187               BrowseFilter color
188
189       This is a similar rule to select only  duplex  (automatic  double-sided
190       printing) printers:
191
192               BrowseFilter duplex
193
194       Rules with the NOT option:
195
196       This  rule  EXCLUDES  printers from all hosts containing "financial" in
197       their names, nice to get rid of the 100s of printers of  the  financial
198       department:
199
200               BrowseFilter NOT host financial
201
202       Get only monochrome printers ("Color" set to "F", meaning false, in the
203       TXT record):
204
205               BrowseFilter NOT color
206
207       Rules with more advanced use of regular expressions:
208
209       Only queue names which BEGIN WITH "hum_res_" are accepted  now,  so  we
210       still  get "hum_res_mono" or "hum_res_color" but not "old_hum_res_mono"
211       any more:
212
213               BrowseFilter name ^hum_res_
214
215       Server names is accepted  if  it  contains  "print_server"  OR  "graph‐
216       ics_dep_server":
217
218               BrowseFilter host print_server|graphics_dep_server
219
220       "printserver1", "printserver2", and "printserver3", nothing else:
221
222               BrowseFilter host ^printserver[1-3]$
223
224       Printers understanding at least one of PostScript, PCL, or PDF:
225
226               BrowseFilter pdl postscript|pcl|pdf
227
228       Examples for the EXACT option:
229
230       Only printers from "printserver.local" are accepted:
231
232               BrowseFilter EXACT host printserver.local
233
234       Printers from all servers except "prinserver2.local" are accepted:
235
236               BrowseFilter NOT EXACT host prinserver2.local
237
238       The  BrowsePoll  directive  polls  a server for available printers once
239       every 60 seconds. Multiple BrowsePoll directives can  be  specified  to
240       poll  multiple servers. The default port to connect to is 631.  Browse‐
241       Poll works independently of  whether  CUPS  browsing  is  activated  in
242       BrowseRemoteProtocols.
243
244               BrowsePoll 192.168.7.20
245               BrowsePoll 192.168.7.65:631
246               BrowsePoll host.example.com:631
247
248
249       The  BrowseLocalProtocols directive specifies the protocols to use when
250       advertising local shared  printers  on  the  network.  The  default  is
251       "none".  Control of advertising of local shared printers using dnssd is
252       done in /etc/cups/cupsd.conf.
253
254               BrowseLocalProtocols none
255               BrowseLocalProtocols CUPS
256
257
258       The BrowseRemoteProtocols directive specifies the protocols to use when
259       finding  remote  shared printers on the network. Multiple protocols can
260       be specified by separating them with spaces.   The  default  is  "dnssd
261       cups".
262
263               BrowseRemoteProtocols none
264               BrowseRemoteProtocols CUPS dnssd
265               BrowseRemoteProtocols CUPS
266               BrowseRemoteProtocols dnssd
267               BrowseRemoteProtocols ldap
268
269       The BrowseProtocols directive specifies the protocols to use when find‐
270       ing remote shared printers on the network and advertising local  shared
271       printers.  "dnssd"  and  "ldap"  are  ignored for BrowseLocalProtocols.
272       Multiple protocols can be specified by separating them with spaces. The
273       default  is  "none"  for  BrowseLocalProtocols  and  "dnssd  cups"  for
274       BrowseRemoteProtocols.
275
276               BrowseProtocols none
277               BrowseProtocols CUPS dnssd
278               BrowseProtocols CUPS
279               BrowseProtocols dnssd
280               BrowseProtocols ldap
281
282       The configuration for the LDAP browsing  mode  define  where  the  LDAP
283       search should be performed. If built with an LDAP library that supports
284       TLS, the path to the server's certificate, or to a certificates  store,
285       can  be  specified.   The  optional filter allows the LDAP search to be
286       more specific, and is used in addition to the hardcoded filter (object‐
287       class=cupsPrinter).
288
289               BrowseLDAPBindDN cn=cups-browsed,dc=domain,dc=tld
290               BrowseLDAPCACertFile /path/to/server/certificate.pem
291               BrowseLDAPDN ou=printers,dc=domain,dc=tld
292               BrowseLDAPFilter (printerLocation=/Office 1/*)
293               BrowseLDAPPassword s3cret
294               BrowseLDAPServer ldaps://ldap.domain.tld
295
296       The  DomainSocket  directive  specifies the domain socket through which
297       the locally running CUPS daemon is accessed. If not specified the stan‐
298       dard  domain  socket of CUPS is used. Use this if you have specified an
299       alternative  domain  socket  for  CUPS  via  a  Listen   directive   in
300       /etc/cups/cupsd.conf.  If  cups-browsed is not able to access the local
301       CUPS daemon via a domain socket it accesses it via localhost. "None" or
302       "Off" lets cups-browsed not use CUPS' domain socket.
303
304               DomainSocket /var/run/cups/cups.sock
305               DomainSocket None
306               DomainSocket Off
307
308       Set  HTTP  timeout  (in  seconds)  for  requests  sent  to local/remote
309       resources Note that too short timeouts can make services getting missed
310       when  they are present and operations be unneccesarily repeated and too
311       long timeouts can make operations take too long when  the  server  does
312       not respond.
313
314               HttpLocalTimeout 5
315               HttpRemoteTimeout 10
316
317       The interval between browsing/broadcasting cycles, local and/or remote,
318       can be adjusted with the BrowseInterval directive.
319
320               BrowseInterval 60
321
322       The BrowseTimeout directive determines the amount of time  that  brows‐
323       ing-related operations are allowed to take in seconds.  Notably, adding
324       or removing one printer queue is considered as one operation. The time‐
325       out applies to each one of those operations.  Especially queues discov‐
326       ered by CUPS broadcasts will be removed after this timeout if  no  fur‐
327       ther broadcast from the server happens.
328
329               BrowseTimeout 300
330
331       Set  OnlyUnsupportedByCUPS  to  "Yes" will make cups-browsed not create
332       local queues for remote printers  for  which  CUPS  creates  queues  by
333       itself.   These  printers  are printers advertised via DNS-SD and doing
334       CUPS-supported (currently  PWG  Raster  and  Apple  Raster)  driverless
335       printing, including remote CUPS queues. Queues for other printers (like
336       for legacy PostScript/PCL printers) are always  created  (depending  on
337       the other configuration settings of cups-browsed).
338
339       With OnlyUnsupportedByCUPS set to "No", cups-browsed creates queues for
340       all printers which it supports, including printers for which CUPS would
341       create  queues  by  itself.  Temporary  queues created by CUPS will get
342       overwritten. This way it is assured that  any  extra  functionality  of
343       cups-browsed  will  apply  to  these queues. As queues created by cups-
344       browsed are permanent CUPS queues this setting is also  recommended  if
345       applications/print  dialogs  which do not support temporary CUPS queues
346       are installed. This setting is the default.
347
348               OnlyUnsupportedByCUPS Yes
349
350       With UseCUPSGeneratedPPDs set to "Yes" cups-browsed creates queues  for
351       IPP  printers  with PPDs generated by the PPD generator of CUPS and not
352       with the one of cups-browsed. So any new development in CUPS' PPD  gen‐
353       erator  gets available. As CUPS' PPD generator is not directly accessi‐
354       ble, we need to make CUPS generate a temporary  print  queue  with  the
355       desired  PPD.  Therefore  we  can  only  use  these PPDs when our queue
356       replaces a temporary CUPS queue,  meaning  that  the  queue  is  for  a
357       printer on which CUPS supports driverless printing (IPP 2.x, PDLs: PDF,
358       PWG Raster, and/or Apple Raster) and that its name is the same as  CUPS
359       uses  for the temporary queue ("LocalQueueNamingIPPPrinter DNS-SD" must
360       be set). The directive applies only to IPP printers, not to remote CUPS
361       queues,  to  not  break clustering. Setting this directive to "No" lets
362       cups-browsed generate the PPD file. Default setting is "Yes".
363
364               UseCUPSGeneratedPPDs No
365
366       With the directives LocalQueueNamingRemoteCUPS and LocalQueueNamingIPP‐
367       Printer  you  can determine how the names for local queues generated by
368       cups-browsed are generated, separately for remote CUPS printers and IPP
369       printers.
370
371       "DNS-SD"  (the  default  in both cases) bases the naming on the service
372       name of the printer's advertised DNS-SD record.  This  is  exactly  the
373       same  naming scheme as CUPS uses for its temporary queues, so the local
374       queue from cups-browsed prevents CUPS  from  listing  and  creating  an
375       additional  queue.  As  DNS-SD  service  names have to be unique, queue
376       names of printers from different servers will also  be  unique  and  so
377       there is no automatic clustering for load-balanced printing.
378
379       "MakeModel"  bases  the  queue  name  on the printer's manufacturer and
380       model names. This scheme cups-browsed used formerly for IPP printers.
381
382       "RemoteName" is only available for remote CUPS queues and uses the name
383       of  the queue on the remote CUPS server as the local queue's name. This
384       makes printers on different CUPS servers with equal queue  names  auto‐
385       matically  forming  a load-balancing cluster as CUPS did formerly (CUPS
386       1.5.x and older) with CUPS-broadcasted  remote  printers.  This  scheme
387       cups-browsed used formerly for remote CUPS printers.
388
389               LocalQueueNamingRemoteCUPS DNS-SD
390               LocalQueueNamingRemoteCUPS MakeModel
391               LocalQueueNamingRemoteCUPS RemoteName
392               LocalQueueNamingIPPPrinter DNS-SD
393               LocalQueueNamingIPPPrinter MakeModel
394
395       Set  IPBasedDeviceURIs to "Yes" if cups-browsed should create its local
396       queues with device URIs with the IP addresses instead of the host names
397       of  the  remote  servers. This mode is there for any problems with host
398       name resolution in the network, especially also if avahi-daemon is only
399       run  for printer discovery and already stopped while still printing. By
400       default this mode is turned off, meaning that we  use  URIs  with  host
401       names.
402
403       If  you  prefer  IPv4  or  IPv6  IP  addresses in the URIs, you can set
404       IPBasedDeviceURIs to "IPv4" to only get IPv4 IP addresses or IPBasedDe‐
405       viceURIs to "IPv6" to only get IPv6 IP addresses.
406
407               IPBasedDeviceURIs No
408               IPBasedDeviceURIs Yes
409               IPBasedDeviceURIs IPv4
410               IPBasedDeviceURIs IPv6
411
412       Set CreateRemoteRawPrinterQueues to "Yes" to let cups-browsed also cre‐
413       ate local queues pointing to remote raw  CUPS  queues.  Normally,  only
414       queues  pointing  to remote queues with PPD/driver are created as we do
415       not use drivers on the client side,  but  in  some  cases  accessing  a
416       remote  raw queue can make sense, for example if the queue forwards the
417       jobs by a special backend like Tea4CUPS.
418
419               CreateRemoteRawPrinterQueues Yes
420
421       cups-browsed by default creates local print queues for each shared CUPS
422       print  queue  which  it  discovers on remote machines in the local net‐
423       work(s). Set CreateRemoteCUPSPrinterQueues to "No" if you do  not  want
424       cups-browsed  to  do this. For example you can set cups-browsed to only
425       create queues for IPP network printers  setting  CreateIPPPrinterQueues
426       not to "No" and CreateRemoteCUPSPrinterQueues to "No".
427
428               CreateRemoteCUPSPrinterQueues No
429
430       Set  CreateIPPPrinterQueues  to  "All" to let cups-browsed discover IPP
431       network printers (native printers, not CUPS  queues)  with  known  page
432       description  languages  (PWG Raster, PDF, PostScript, PCL XL, PCL 5c/e)
433       in the local network and auto-create print queues for them.
434
435       Set CreateIPPPrinterQueues to "Everywhere" to let cups-browsed discover
436       IPP Everywhere printers in the local network (native printers, not CUPS
437       queues) and auto-create print queues for them.
438
439       Set CreateIPPPrinterQueues to "AppleRaster" to  let  cups-browsed  dis‐
440       cover  Apple Raster printers in the local network (native printers, not
441       CUPS queues) and auto-create print queues for them.
442
443       Set CreateIPPPrinterQueues to "Driverless" to let cups-browsed discover
444       printers  designed  for  driverless  use  (currently IPP Everywhere and
445       Apple Raster) in the local network (native printers, not  CUPS  queues)
446       and auto-create print queues for them.
447
448       Set  CreateIPPPrinterQueues  to "LocalOnly" to auto-create print queues
449       only for local printers made available as IPP printers. These  are  for
450       example  IPP-over-USB printers, made available via ippusbxd(8). This is
451       the default.
452
453       Set CreateIPPPrinterQueues to "No" to not auto-create print queues  for
454       IPP network printers.
455
456       If  queues with PPD file are created (see IPPPrinterQueueType directive
457       below) the PPDs are auto-generated by cups-browsed based on  properties
458       of  the  printer  polled  via IPP. In case of missing information, info
459       from the Bonjour record is used asd as last mean default values.
460
461       If queues without PPD (see  IPPPrinterQueueType  directive  below)  are
462       created  clients  have  to IPP-poll the capabilities of the printer and
463       send option settings as standard IPP attributes. Then we  do  not  poll
464       the  capabilities  by  ourselves to not wake up the printer from power-
465       saving mode when creating the queues. Jobs have to be sent  in  one  of
466       PDF, PWG Raster, or JPEG format. Other formats are not accepted.
467
468       This  functionality is primarily for mobile devices running CUPS to not
469       need a printer setup tool nor a collection of printer drivers and PPDs.
470
471               CreateIPPPrinterQueues No
472               CreateIPPPrinterQueues LocalOnly
473               CreateIPPPrinterQueues Everywhere
474               CreateIPPPrinterQueues AppleRaster
475               CreateIPPPrinterQueues Everywhere AppleRaster
476               CreateIPPPrinterQueues Driverless
477               CreateIPPPrinterQueues All
478
479       If cups-browsed is automatically creating print queues for  native  IPP
480       network  printers  ("CreateIPPPrinterQueues Yes"), the type of queue to
481       be created can be selected by the "IPPPrinterQueueType" directive.  The
482       "PPD"  (default) setting makes queues with PPD file being created. With
483       "Interface" or "NoPPD" the queue is created with a System  V  interface
484       script (Not supported with CUPS 2.2.x or later). "Auto" is for backward
485       compatibility and also lets queues with PPD get created.
486
487               IPPPrinterQueueType PPD
488               IPPPrinterQueueType NoPPD
489               IPPPrinterQueueType Interface
490               IPPPrinterQueueType Auto
491
492       The NewIPPPrinterQueuesShared  directive  determines  whether  a  print
493       queue  for  a  newly  discovered  IPP  network printer (not remote CUPS
494       queue) will be shared to the local network or not. This is  only  valid
495       for  newly  discovered  printers. For printers discovered in an earlier
496       cups-browsed session, cups-browsed will remember  whether  the  printer
497       was  shared,  so  changes  by the user get conserved. Default is not to
498       share newly discovered IPP printers.
499
500               NewIPPPrinterQueuesShared Yes
501
502       If there is more than one remote CUPS printer whose local  queue  would
503       get the same name and AutoClustering is set to "Yes" (the default) only
504       one local queue is created which makes up a load-balancing  cluster  of
505       the  remote  printers which would get this queue name (implicit class).
506       This means that when several jobs are sent to this queue they get  dis‐
507       tributed  between the printers, using the method chosen by the LoadBal‐
508       ancing directive.
509
510       Note that the forming of clusters depends  on  the  naming  scheme  for
511       local  queues created by cups-browsed. If you have set LocalQueueNamin‐
512       gRemoteCUPS to "DNSSD" you will not get  automatic  clustering  as  the
513       DNS-SD service names are always unique. With LocalQueueNamingRemoteCUPS
514       set to "RemoteName" local queues are named as the CUPS  queues  on  the
515       remote  servers  are  named  and  so  equally named queues on different
516       servers get clustered (this is how CUPS did  it  in  version  1.5.x  or
517       older).  LocalQueueNamingRemoteCUPS  set  to  "MakeModel"  makes remote
518       printers of the same model get clustered. Note that then a cluster  can
519       contain more than one queue of the same server.
520
521       With  AutoClustering set to "No", for each remote CUPS printer an indi‐
522       vidual local queue is created, and to avoid name clashes when using the
523       LocalQueueNamingRemoteCUPS   settings   "RemoteName"   or   "MakeModel"
524       "@<server name>" is added to the local queue name.
525
526       Only remote CUPS printers get clustered, not IPP  network  printers  or
527       IPP-over-USB printers.
528
529               AutoClustering Yes
530               AutoClustering No
531
532       Load-balancing  printer  cluster  formation  can  also be manually con‐
533       trolled by defining explicitly which remote CUPS  printers  should  get
534       clustered together.
535
536       This is done by the "Cluster" directive:
537
538               Cluster <QUEUENAME>: <EXPRESSION1> <EXPRESSION2> ...
539               Cluster <QUEUENAME>
540
541       If  no expressions are given, <QUEUENAME> is used as the first and only
542       expression for this cluster.
543
544       Discovered printers are matched against  all  the  expressions  of  all
545       defined  clusters.  The  first  expression which matches the discovered
546       printer determines to which cluster it belongs. Note that  this  way  a
547       printer  can  only belong to one cluster. Once matched, further cluster
548       definitions will not checked any more.
549
550       With the first printer matching a cluster's expression  a  local  queue
551       with  the  name <QUEUENAME> is created. If more printers are discovered
552       and match this cluster, they join the cluster. Printing to  this  queue
553       prints  to  all these printers in a load-balancing manner, according to
554       to the setting of the LoadBalancing directive.
555
556       Each expression must be a string of characters without spaces. If  spa‐
557       ces are needed, replace them by underscores ('_').
558
559       An expression can be matched in three ways:
560
561           1. By the name of the CUPS queue on the remote server
562           2. By make and model name of the remote printer
563           3. By the DNS-SD service name of the remote printer
564
565       Note that the matching is done case-insensitively and any group of non-
566       alphanumerical characters is replaced by a single underscore.
567
568       So if an expression is "HP_DeskJet_2540" and the remote server  reports
569       "hp Deskjet-2540" the printer gets matched to this cluster.
570
571       If "AutoClustering" is not set to "No" both your manual cluster defini‐
572       tions will be followed and automatic clustering of equally-named remote
573       queues  will  be performed. If a printer matches in both categories the
574       match to the manually defined cluster has priority. Automatic  cluster‐
575       ing  of  equally-named  remote  printers is not performed if there is a
576       manually defined cluster with this name (at least as  the  printers  do
577       not match this cluster).
578
579       Examples:
580
581       To  cluster  all  remote CUPS queues named "laserprinter" in your local
582       network but not cluster any other equally-named  remote  CUPS  printers
583       use (Local queue will get named "laserprinter"):
584
585               AutoClustering No
586               Cluster laserprinter
587
588       To  cluster  all  remote  CUPS queues of HP LaserJet 4050 printers in a
589       local queue named "LJ4050":
590
591               Cluster LJ4050: HP_LaserJet_4050
592
593       As DNS-SD service names are unique in a network you can create a  clus‐
594       ter from exactly specified printers (spaces replaced by underscors):
595
596               Cluster hrdep: oldlaser_@_hr-server1 newlaser_@_hr-server2
597
598       The  LoadBalancing  directive  switches between two methods of handling
599       load balancing between equally-named remote  queues  which  are  repre‐
600       sented  by  one local print queue making up a cluster of them (implicit
601       class).
602
603       The two methods are:
604
605       Queuing of jobs on the client (LoadBalancing QueueOnClient):
606
607       Here we queue up the jobs on the client and regularly check  the  clus‐
608       tered  remote  print queues. If we find an idle queue, we pass on a job
609       to it.
610
611       This is also the method which CUPS uses for  classes.  Advantage  is  a
612       more  even  distribution of the job workload on the servers (especially
613       if the printing speed of the servers  is  very  different),  and  if  a
614       server fails, there are not several jobs stuck or lost. Disadvantage is
615       that if one takes the client (laptop, mobile phone,  ...)  out  of  the
616       local network, printing stops with the jobs waiting in the local queue.
617
618       Queuing of jobs on the servers (LoadBalancing QueueOnServers):
619
620       Here we check the number of jobs on each of the clustered remote print‐
621       ers and send an incoming job immediately to the remote printer with the
622       lowest  amount of jobs in its queue. This way no jobs queue up locally,
623       all jobs which are waiting are waiting on one of the remote servers.
624
625       Not having jobs waiting locally has the advantage that we can take  the
626       local  machine from the network and all jobs get printed.  Disadvantage
627       is that if a server with a full queue of jobs goes away,  the  jobs  go
628       away, too.
629
630       Default  is  queuing  the  jobs on the client as this is what CUPS does
631       with classes.
632
633               LoadBalancing QueueOnClient
634               LoadBalancing QueueOnServers
635
636       With the DefaultOptions directive one or more option  settings  can  be
637       defined  to  be  applied  to  every  print queue newly created by cups-
638       browsed. Each option is supplied as one supplies options with the  "-o"
639       command  line  argument to the "lpadmin" command (Run "man lpadmin" for
640       more details). More than one option  can  be  supplied  separating  the
641       options by spaces. By default no option settings are pre-defined.
642
643       Note that print queues which cups-browsed already created before remem‐
644       ber their previous settings and so these settings do not get applied.
645
646               DefaultOptions Option1=Value1 Option2=Value2 Option3 noOption4
647
648       The AutoShutdown directive specifies whether cups-browsed should  auto‐
649       matically  terminate when it has no local raw queues set up pointing to
650       any discovered remote printers or no jobs on such queues  depending  on
651       AutoShutdownOn  setting  (auto shutdown mode). Setting it to "On" acti‐
652       vates the auto-shutdown mode, setting it to "Off" deactivates  it  (the
653       default). The special mode "avahi" turns auto shutdown off while avahi-
654       daemon is running and on when avahi-daemon stops. This  allows  running
655       cups-browsed on-demand when avahi-daemon is run on-demand.
656
657               AutoShutdown Off
658               AutoShutdown On
659               AutoShutdown avahi
660
661       The AutoShutdownOn directive determines what event cups-browsed consid‐
662       ers as inactivity in auto shutdown mode. "NoQueues" (the default) means
663       that auto shutdown is initiated when there are no queues for discovered
664       remote printers generated by cups-browsed any more. "NoJobs" means that
665       all queues generated by cups-browsed are without jobs.
666
667               AutoShutdownOn NoQueues
668               AutoShutdownOn NoJobs
669
670       The  AutoShutdownTimeout  directive  specifies  after  how many seconds
671       without local raw queues set  up  pointing  to  any  discovered  remote
672       printers or jobs on these queues cups-browsed should actually shut down
673       in auto shutdown mode. Default is 30 seconds, 0 means  immediate  shut‐
674       down.
675
676               AutoShutdownTimeout 20
677
678

SEE ALSO

680       cups-browsed(8)
681
682       /usr/share/doc/cups-browsed/README.gz
683

AUTHOR

685       The   authors   of  cups-browsed  are  listed  in  /usr/share/doc/cups-
686       browsed/AUTHORS.
687
688       This manual page was written for the Debian Project, but it may be used
689       by others.
690
691
692
693                                 29 June 2013             cups-browsed.conf(5)
Impressum