On 30/01/2020 16:48, Didier 'OdyX' Raboud wrote:
Dear Till and Brian, (I'm currently at pre-FOSDEM miniDebConf in Brussels, if any of you is around, let's chat!) With the blessing of driverless printing, it seems we're now in a world where most (%-age ?) printers sold in the last (how many?) years support driverless printing. Support is not perfect everywhere, but we've come such a long way that, with a recent printer, on a normal network, it just "pops" in CUPS and its interfaces, and printing "works", in mere seconds.
General use network printers seem indeed all be driverless, even cheap models, simply because manufacturers want to allow people print from their phones.
Printer needing drivers are more the specialty printers, like label printers for example, and here Mike Sweet did a good start with a Printer Application, which you have debianized now.
In general, printer drivers are supposed to be provided as Printer Applications from now on. I will do some Printer Applications for legacy printer drivers for Ubuntu in the next weeks, to be made available as snaps in the Snap store.
But the Debian packaging (task-print-server, cups, …) still installs _a lot_ of printer drivers and other related packages. Although in the past I was convinced we needed to make sure that _all_ printer drivers should be installed everywhere (hence the creation and usage of the printer-driver-all meta-package), I'm getting more and more convinced that we should reverse this course and install "just" what's needed to print driverless to a network printer in "most" cases. I have started laying down my plan on the Debian Wiki: https://wiki.debian.org/Teams/Printing/2020DriverlessByDefault I'd love to get input from you to know if: a) that's something desireable; b) the way I thought of it makes sense;
I think it is a good idea to get rid of the loads of printer drivers. Most of them are for decades-old printers. The few people who have saved their printers through such a long time could install the packages if needed.
We need to ask some driver developers who maintain their drivers until now (HPLIP, Gutenprint, Ricoh PPDs, ...) whether there are relevant new models which need a driver or where printing with driver is highly recommended. Perhaps we ship only these driver packages by default then.
For the default config of cupsd, you suggest two versions: One only listening on the socket and therefore not sharing printers and not providing the web admin interface. Makes sense for desktops which are not sharing printers, they even do not need to share printers if all the available printers are network printers, and administration is done by a GUI app like GNOME Control Center or system-config-printer. The other alternative is to also listen on localhost:631 which opens up printer sharing and the web interface, the recommended way for a headless server, as print queues are only there for sharing and one wants to do remote administration, so the web interface gets useful.
You are giving names to the two default config alternatves. "cups-daemon-headless" I would give to the server config which shares printers and uses the web interface. This is how to use CUPS on headless (no monitor and keyboard) servers. The other one, only listening on the domain socket is not for headless servers but for desktops.
AFAIR one can switch between these scenarios with cupsctl or the "Server Settings" in system-config-printer.
I do not know how we could in .deb packages make a server installation default to one and a desktop installation to the other.
We will need a running cups-browsed as long as print dialogs do not reliably display CUPS' temporary queues. As soon as they do so, cups-browsed is only needed for more sophisticated network printing configurations.
What are your thoughts there? Do the work directly in experimental, and iterate until it's satisfactory?
Probably we should try it out in Experimental. That's a good idea. Till