There are different methods for auto-discovering driverless IPP network
printers.

First, all these printers advertise themselves via DNS-SD, so that
clients (computers, phones, TVs, ...) find them. The first step which
then happens in your computer is that avahi-daemon picks up the
printer's broadcasts. Therefore avahi-browse shows the printers. Every
other program, like CUPS, cups-browsed, or print dialogs communicate
with avahi-daemon to be able to list the printers. If you stop avahi-
daemon the printers will disappear for sure, but other types of remote
devices which your computer discovers will disappear, too.

For getting the printers from avahi-daemon to the final print dialog
there are three methods currently (in the order of how I assume that
they appeared):

1. cups-browsed: This one I wrote when CUPS 1.6 came out and dropped its
own broadcasting/browsing system to automatically make printers from
CUPS servers appear on CUPS clients. CUPS replaced this by the same DNS-
SD method which the the driverless IPP printers use but they did not do
the client part, print dialogs were supposed to use it. But as in Linux
GUI there is certain inertia in development and usually no one taking
care of printing, I created cups-browsed to assure continuity in the
functionality of Ubuntu. In the beginning cups-browsed did nothing more
than picking up DNS-SD broadcasts of remote CUPS printers (with the help
of avahi-daemon) and created local CUPS queues to make the printers
listed locally and to be able to print on them. During the years I added
more functionality, especially also creating local queues for driverless
IPP printers. cups-browsed removes its local queues when the remote
printer disappears or on (cups-browsed) daemon shutdown. This way I have
overcome the lack of the print dialog's functionality and users die not
complain about missing remote printers.

2. CUPS: Recently, CUPS added a mechanism to automatically have access
to remote IPP printers (both driverless network printers and remote CUPS
queues) by listing the printers even without having a local queue and
auto-creating a temporary queue when trying to access the printer. The
temporary queue is removed after 1 minute being idle or on (CUPS) daemon
shutdown. Problem of this approach is that clients, like print dialogs
need to use the correct CUPS API to see these printers. As not all of
them do so I am keeping cups-browsed in the default installation of
Ubuntu.

3. Print dialogs can follow the original idea of the time of CUPS 1.6,
grabbing the DNS-SD broadcasts of the printers on its own (using only
avahi-daemon) and this way list the printers.

Now I do not know how exactly each print dialog is working and which of
the three methods leads to the dialog listing the IPP printers. As you
have already turned off cups-browsed as a first step, it must be (2) or
(3) for the Qt dialog.

You can try to turn off CUPS now, but only for testing as this way most
probably printing will not work. If the dialog still shows the printers,
the Qt dialog uses (3) for sure. Try to print even with CUPS still
turned off. Does this work? Does the GTK dialog (for example evince)
behave the same? Does also the print dialog of LibreOffice behave the
same?

Perhaps the dialogs behave all different. We have developed a new
methods in which the dialogs stop accessing printers on their own and
use GUI-independent print dialog backends. This new method (4) will
hopefully soon make it into the Linux distributions.

By the way, with your observation on Qt print dialog showing the
printers as driverless only with cups-browsed running is due to how
cups-browsed works. It creates local queues and marks them as
"driverless" which the dialog shows. The dialog has a mechanism
determining whether a remote printer has already a local queue to avoid
duplicate listings. So you see the queue from cups-browsed if cups-
browsed is running and you see the printer entry from CUPS or from the
dialog itself if cups-browsed is not running.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1738432

Title:
  Regression, poor user experience, print dialogs garbled by
  unidentifiable driverless printers

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1738432/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to