Translation(s): none

An account of how modern printers and remote print queues are a good fit for driverless printing on Debian 10 (buster). 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, 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. 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

As is the way of the world, it is likely that issues like this, this and this will arise from time to time.

IPP Printers

A printer connected by USB to a client can use ippusbxd for driverless printing. Unfortunately, on buster, the setup procedure is not quite as good as it could be due to a change in avahi being required.

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. With a network connection an IPP printer is enumerated by lpstat -a and in all print dialogs when

After one simple edit to 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.

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

lpstat -a

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

Suppose a user puts an HP MFD on the network and sets up driverless printing with it as above. Its scanning function is immediately made available after doing

apt install libsane-hpaio --no-install-recommends

provided this issue is not encountered. Note that the whole of hplip is not needed.

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> --tar vxf
python3 or python
apt purge hplip-data

Unless SANE has support for a Brother, Canon, Epson or Samsung MFD, scanning will require a non-free package

See Also