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

SEE ALSO

693       cups-browsed(8)
694
695       /usr/share/doc/cups-browsed/README.gz
696

AUTHOR

698       The  authors  of  cups-browsed  are  listed   in   /usr/share/doc/cups-
699       browsed/AUTHORS.
700
701       This manual page was written for the Debian Project, but it may be used
702       by others.
703
704
705
706                                 29 June 2013             cups-browsed.conf(5)
Impressum