cups-browsed.conf(5)

NAME
cups-browsed.conf - server configuration file for cups-browsed

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

DIRECTIVES
The BrowseAllow directive specifies a system or network to accept CUPS browse packets from. The default is to accept browse packets from all hosts when BrowseRemoteProtocols uses the CUPS protocol.

        BrowseAllow All
        BrowseAllow 192.168.7.20
        BrowseAllow 192.168.7.0/24
        BrowseAllow 192.168.7.0/255.255.255.0
The BrowsePoll directive polls a server for available printers once every 60 seconds. Multiple BrowsePoll directives can be specified to poll multiple servers. The default port to connect to is 631. BrowsePoll works independently of whether CUPS browsing is activated in BrowseRemoteProtocols.

        BrowsePoll 192.168.7.20
        BrowsePoll 192.168.7.65:631
        BrowsePoll host.example.com:631
The BrowseLocalProtocols directive specifies the protocols to use when advertising local shared printers on the network. The default is "none". Control of advertising of local shared printers using dnssd is done in /etc/cups/cupsd.conf.

        BrowseLocalProtocols none
        BrowseLocalProtocols CUPS
The BrowseRemoteProtocols directive specifies the protocols to use when finding remote shared printers on the network. Multiple protocols can be specified by separating them with spaces. The default is "dnssd cups".

        BrowseRemoteProtocols none
        BrowseRemoteProtocols CUPS dnssd
        BrowseRemoteProtocols CUPS
        BrowseRemoteProtocols dnssd
        BrowseRemoteProtocols ldap
The BrowseProtocols directive specifies the protocols to use when finding remote shared printers on the network and advertising local shared printers. "dnssd" and "ldap" are ignored for BrowseLocalProtocols. Multiple protocols can be specified by separating them with spaces. The default is "none" for BrowseLocalProtocols and "dnssd cups" for BrowseRemoteProtocols.

        BrowseProtocols none
        BrowseProtocols CUPS dnssd
        BrowseProtocols CUPS
        BrowseProtocols dnssd
        BrowseProtocols ldap
The configuration for the LDAP browsing mode define where the LDAP search should be performed. If built with an LDAP library that supports TLS, the path to the server's certificate, or to a certificates store, can be specified. The optional filter allows the LDAP search to be more specific, and is used in addition to the hardcoded filter (objectclass=cupsPrinter).

        BrowseLDAPBindDN cn=cups-browsed,dc=domain,dc=tld
        BrowseLDAPCACertFile /path/to/server/certificate.pem
        BrowseLDAPDN ou=printers,dc=domain,dc=tld
        BrowseLDAPFilter (printerLocation=/Office 1/*)
        BrowseLDAPPassword s3cret
        BrowseLDAPServer ldaps://ldap.domain.tld
The DomainSocket directive specifies the domain socket through which the locally running CUPS daemon is accessed. If not specified the standard domain socket of CUPS is used. Use this if you have specified an alternative domain socket for CUPS via a Listen directive in /etc/cups/cupsd.conf. If cups-browsed is not able to access the local CUPS daemon via a domain socket it accesses it via localhost.

        DomainSocket /var/run/cups/cups.sock
Set IPBasedDeviceURIs to "Yes" if cups-browsed should create its local queues with device URIs with the IP addresses instead of the host names of the remote servers. This mode is there for any problems with host name resolution in the network, especially also if avahi-daemon is only run for printer discovery and already stopped while still printing. By default this mode is turned off, meaning that we use URIs with host names.

        IPBasedDeviceURIs Yes
The CreateIPPPrinterQueues directive specifies whether cups-browsed should discover IPP printers (via Bonjour) and if they understand a known page description language (PWG Raster, PDF, PostScript, PCL XL, PCL 5c/e) create PPD-less print queues (using a System V interface script to control the filter chain). Clients have to IPP-poll the capabilities of the printer and send option settings as standard IPP attributes. We do not poll the capabilities by ourselves to not wake up the printer from power-saving mode when creating the queues. Jobs have to be sent in PDF format. Other formats are not accepted. This functionality is primarily for mobile devices running CUPS to not need a printer setup tool nor a collection of printer drivers and PPDs.

        CreateIPPPrinterQueues Yes
If cups-browsed is automatically creating print queues for native IPP network printers ("CreateIPPPrinterQueues Yes"), the type of queue to be created can be selected by the "IPPPrinterQueueType" directive. The "PPD" setting makes always queues with PPD file being created and no queue if the printer does not supply sufficient information for creating a PPD. With "NoPPD" the queue is always created with a System V interface script as filter, also when creatig a PPD would be possible. "Auto" (the default) lets a PPD being created if the printer supplies sufficient information and a System V interface script otherwise.

        IPPPrinterQueueType Auto
        IPPPrinterQueueType PPD
        IPPPrinterQueueType NoPPD
The LoadBalancing directive switches between two methods of handling load balancing between equally-named remote queues which are represented by one local print queue making up a cluster of them (implicit class).

The two methods are:

Queuing of jobs on the client (LoadBalancing QueueOnClient):

Here we queue up the jobs on the client and regularly check the clustered remote print queues. If we find an idle queue, we pass on a job to it.

This is also the method which CUPS uses for classes. Advantage is a more even distribution of the job workload on the servers (especially if the printing speed of the servers is very different), and if a server fails, there are not several jobs stuck or lost. Disadvantage is that if one takes the client (laptop, mobile phone, ...) out of the local network, printing stops with the jobs waiting in the local queue.

Queuing of jobs on the servers (LoadBalancing QueueOnServers):

Here we check the number of jobs on each of the clustered remote printers and send an incoming job immediately to the remote printer with the lowest amount of jobs in its queue. This way no jobs queue up locally, all jobs which are waiting are waiting on one of the remote servers.

Not having jobs waiting locally has the advantage that we can take the local machine from the network and all jobs get printed. Disadvantage is that if a server with a full queue of jobs goes away, the jobs go away, too.

Default is queuing the jobs on the client as this is what CUPS does with classes.

        LoadBalancing QueueOnClient
        LoadBalancing QueueOnServers
With the DefaultOptions directive one or more option settings can be defined to be applied to every print queue newly created by cups-browsed. Each option is supplied as one supplies options with the "-o" command line argument to the "lpadmin" command (Run "man lpadmin" for more details). More than one option can be supplied separating the options by spaces. By default no option settings are pre-defined.

Note that print queues which cups-browsed already created before remember their previous settings and so these settings do not get applied.

        DefaultOptions Option1=Value1 Option2=Value2 Option3 noOption4
The AutoShutdown directive specifies whether cups-browsed should automatically terminate when it has no local raw queues set up pointing to any discovered remote printers (auto shutdown mode). Setting it to "On" activates the auto-shutdown mode, setting it to "Off" deactiivates it (the default). The special mode "avahi" turns auto shutdown off while avahi-daemon is running and on when avahi-daemon stops. This allows running cups-browsed on-demand when avahi-daemon is run on-demand.

        AutoShutdown Off
        AutoShutdown On
        AutoShutdown avahi
The AutoShutdownTimeout directive specifies after how many seconds without local raw queues set up pointing to any discovered remote printers cups-browsed should actually shut down in auto shutdown mode. Default is 30 seconds, 0 means immediate shutdown.

        AutoShutdownTimeout 20

SEE ALSO
cups-browsed(8)

/usr/share/doc/cups-browsed/README.gz

AUTHOR
The authors of cups-browsed are listed in /usr/share/doc/cups-browsed/AUTHORS.

This manual page was written for the Debian Project, but it may be used by others.