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