[Printing-architecture] Some suggestions for the DNS-SD (Bonjour) printer support in the dialog

Till Kamppeter till.kamppeter at gmail.com
Wed Jun 12 22:52:23 UTC 2013

On 05/19/2013 08:08 AM, Michael Sweet wrote:
> The reason I mention DBUS is that it a simple way to implement a per-user spooler that provides "temporary" print queues.  This could also be part of cupsd (it used to be for CUPS browsing), but I want to be careful not to re-introduce the problems of CUPS browsing.
> The key is that auto-adding every printer you see has a huge overhead and isn't particularly useful for the user when there are more than a few printers - how many printers does one user print to in the typical case?  Browsing and adding-on-first-use is a much better solution since then you just manage those printers you use on a particular system.

What about cups-browsed offering a D-Bus service to create a temporary
print queue, queue creation being triggered when a Bonjour-discovered
network printer is selected in the print dialog and "Print" is selected.
Queues are removed if they stay for a time X without job (preferred), on
another D-Bus command, or on shutdown of cups-browsed. These queues get
visible for other users, but this is no problem if they look the same in
the other user's print dialog then. The job of the other user gets into
the same temporary queue then and correctly waits until the first user's
job finishes.

This would make all print spooling be done by CUPS and not require any
extra per-user or per-dialog spooler. Also if different users send jobs
shortly one after the other, the jobs get correctly queued and cannot
mix up.



More information about the Printing-architecture mailing list