An account of how modern printers and remote print queues are a good fit for driverless printing on Debian 10 (buster) and later. A basic, no-frills approach is attempted in order to encourage a Debian user to feel comfortable with such a printer, especially when it is on the network connected by ethernet or wireless, and not need to have to contemplate driver installation.
Modern refers conservatively to printers and multi-function devices (MFDs) that have come on the market since 2014. The year is a guide, not a hard cut-off date; modern can also be applied to many devices sold between 2010 and 2014. As far as printing is concerned, the principal qualifying requirement is that the printer or MFD implements an AirPrint service. Lists of compatible devices are available from
Alternatively, a user can test for AirPrint compatibility of a printer on the network by executing avahi-browse -rt _ipp._tcp and looking for the URF key in the output. avahi-browse is in the avahi-utils package.
By default, buster's installed printing packages include
The third package is the one of importance in this account because it is the one that will automatically manage the printer or print queue. cups-browsed is pulled in by a default installation of CUPS. It is assumed that all printers and remote CUPS servers are on the same subnet of the local network.
Successful and effortless driverless printing depends on
- Conformance to standards in CUPS.
- Co-operation between cups-filters and cups-browsed and CUPS.
- Printer firmware implementations.
To get effortless use of an IPP printer or MFD you would be doing yourself a favour by putting the device on the network with either an ethernet or a wireless connection. The printer does Bonjour broadcasting and cups-browsed can create a local queue for it in the same way it does for a remote CUPS server. On buster with a network connection, an IPP printer is enumerated by lpstat -a and in all print dialogs when
CreateIPPPrinterQueues All is uncommented in /etc/cups/cups-browsed.conf.
systemctl restart cups-browsed is executed.
After one simple edit to buster's cups-browsed.conf, IPP printers are automatically set up, made visible to applications and managed by cups-browsed on a default buster installation. Nothing else need be done to print to them.
- The edit is unneeded on a Debian 11 (bullseye) installation.
A user with a preference for a USB connected IPP printer would move from here to reading this section and the ones following it.
Remote CUPS Servers
A common way of setting up a CUPS server is to connect a printer by USB to a computer and set up a queue for it on that computer. If the queue is shared, its Bonjour broadcasts will be seen by a client device. With cups-browsed on the device the client will automatically create a queue for it. This queue is a local queue with a PPD in /etc/cups/ppd. The queue will be enumerated by
and in the print dialogs of all applications.
Remote print queues are automatically set up, made visible to applications and managed by cups-browsed on a default buster installation. Nothing else need be done to print to them.
MFDs and Their Scanning Function
Debian 10 (buster)
apt install libsane-hpaio --no-install-recommends
A user without hplip installed might need a non-free plugin for scanning. Download it to a directory of your choice from either of the openprinting orHPLIP sites. Within the chosen directory, do (as root)
apt install hplip-data sh hplip-<version>-plugin.run --tar vxf python3 installPlugin.py or python installPlugin.py apt purge hplip-data
Debian 11 (bullseye)
The need for a free or non-free vendor scanner package is greatly diminished on bullseye because many (but not all) modern MFDs provide driverless scanning in addition to driverless printing. A user may test for driverless scanning compatibility of an MFD on the network by executing
avahi-browse -rt _uscan._tcp
An additional testing method is to install sane-airscan and run