Chapter 10. Using cups-browsed to locally integrate printers from a remote print server
cups-browsed service uses DNS service discovery (DNS-SD) and CUPS browsing to make all or a filtered subset of shared remote printers automatically available in a local CUPS service.
For example, administrators can use this feature on workstations to make only printers from a trusted print server available in a print dialog of applications. It is also possible to configure
cups-browsed to filter the browsed printers by certain criteria to reduce the number of listed printers if a print server shares a large number of printers.
If the print dialog in an application uses other mechanisms than, for example DNS-SD, to list remote printers,
cups-browsed has no influence. The
cups-browsed service also does not prevent users from manually accessing non-listed printers.
- The CUPS service is configured on the local host.
A remote CUPS print server exists, and the following conditions apply to this server:
- The server listens on an interface that is accessible from the client.
Allow fromparameter in the server’s
<Location />directive in the
/etc/cups/cups.conffile allows access from the client’s IP address.
- The server shares printers.
- Firewall rules allow access from the client to the CUPS port on the server.
/etc/cups/cups-browsed.conffile, and make the following changes:
BrowsePollparameters for each remote CUPS server you want to poll:
BrowsePoll remote_cups_server.example.com BrowsePoll 192.0.2.100:1631
:<port>to the hostname or IP address if the remote CUPS server listens on a port different from 631.
Optional: Configure a filter to limit which printers are shown in the local CUPS service. For example, to filter for queues whose name contain
BrowseFilter name sales_
You can filter by different field names, negate the filter, and match the exact values. For further details, see the parameter description and examples in the
Optional: Change the polling interval and timeout to limit the number of browsing cycles:
BrowseInterval 1200 BrowseTimeout 6000
BrowseTimeoutin the same ratio to avoid situations in which printers disappear from the browsing list. This mean, multiply the value of
BrowseIntervalby 5 or a higher integer, and use this result value for
cups-browsedpolls remote servers every 60 seconds and the timeout is 300 seconds. However, on print servers with many queues, these default values can cost many resources.
Enable and start the
# systemctl enable --now cups-browsed
List the available printers:
# lpstat -v device for Demo-printer: implicitclass://Demo-printer/ ...
If the output for a printer contains
cups-browsedmanages the printer in CUPS.