[GTALUG] Continuing Printer Woes
Stewart C. Russell
scruss at gmail.com
Mon Jun 1 12:20:31 EDT 2020
On 2020-06-01 10:14 a.m., Christopher Browne via talk wrote:
>
> But I had gotten myself accustomed to the impression that
> "with CUPS, It Just Works(tm)", so colour me surprised.
>
> Has Microsoft pushed back to try to get WinPrinters back to be a
> thing?
I don't think so. Since all printers (except cheap USB-only disposable
ones) need to print over wireless from an iPad/iPhone, it's got much
simpler. Different, yes, but simpler for the user.
I've got a 2012-vintage Epson WorkForce WF7520 large-format inkjet AiO.
It supports wireless and IPP v1.0. I've also got a 2019 Brother
MFC-L2750DW. It supports wireless and AirPrint (aka IPP v2.0, pretty
much). Both are auto-discovered by all my (non-embedded) Linux systems,
and I don't need any drivers. The entire installation process of the
Brother went like this:
1) unpack from box;
2) remove packing materials;
3) install toner and paper;
4) plug in power;
5) join wireless network from front panel.
By the time I got downstairs from where I'd installed the printer, all
the computers in the house had found the new printer and added it as a
device. This includes an Ubuntu desktop, Ubuntu laptop, a couple of
Macs, a Windows 10 machine, two Raspberry Pis and an iPad. The only
thing that needed a little work was my Android phone, but that wasn't
any more than "Find printer" then say yes to the Brother printer driver.
All of this is made possible by three technologies:
1) CUPS
2) Bonjour (mDNS/DNS-SD, typically Avahi under Linux)
3) IPP
Bonjour announces that the printer's there, IPP negotiates the printer's
capabilities, and CUPS sends the data in the right format. If even one
of these three is missing, it's endless fighting and pain.
The Debian packages I have on my desktop system(s) that enable this are:
avahi-autoipd avahi-daemon avahi-utils cups
cups-browsed cups-bsd cups-client cups-common
cups-core-drivers cups-daemon cups-filters
cups-filters-core-drivers cups-ipp-utils cups-pk-helper
cups-ppdc cups-server-common printer-driver-cups-pdf
printer-driver-gutenprint system-config-printer
system-config-printer-common system-config-printer-udev
Most of these are installed automatically. I think I had to add
cups-ipp-utils, system-config-printer and (oddly) cups to make this work
seamlessly on the Raspberry Pis.
* I don't strictly need avahi-autoipd and avahi-utils; the Raspberry Pis
do fine without them.
* cups-bsd is only needed if your fingers automatically type 'lpr -P'
instead of 'lp -d', as mine do.
* printer-driver-cups-pdf isn't necessary, but gives you print to PDF
from everywhere. Since CUPS puts every print job into PDF anyway, this
is just a *really* fancy wrapper around 'cat'.
* printer-driver-gutenprint gives a bit more control to colour printing
for those rare times I need things to be really fiddly. I could do
without for 99% of print jobs.
All the above did pretty much require me to forget everything I thought
I knew about printer admin. I'm glad I don't need that any more.
cheers,
Stewart
More information about the talk
mailing list