Hi,

In CUPS 1.6.x the CUPS broadcasting/browsing mechanism to let print queues on a server automatically appear on clients was removed, and instead, CUPS servers do broadcasting of their shared print queues only by Bonjour, but the CUPS damon dos no Bonjour browsing to let the server's queues automatically show up on clients.

See

https://blueprints.launchpad.net/ubuntu/+spec/desktop-r-cups-bonjour-browsing

One reason why the author of CUPS, Mike Sweet, dropped CUPS broadcasting/browsing is that it does not work well on mobile devices which suspend to save battery power.

Now my idea is the following:

On every modern Linux machine avahi-daemon is running for various reasons, so it is already present and you can see services in your network, including CUPS print queues, at any time, for example with avahi-discover.

This will be made use of using two methods:

1. Print dialogs of both GTK and Qt should browse Bonjour-broadcasted remote printers and add them to the list of available printers, using the new cupsEnumDests() function of the CUPS library. I have informed the upstream maintainers of the print dialogs asking for this feature. This also eliminates the need of a local CUPS daemon on a machine with no local print queues, making printing with configuration-less clients more mobile-friendly.

2. Extra daemon (cups-browsed) for legacy applications not using method (1). The daemon will browse Bonjour broadcasts of remote printers and create/remove local raw queues pointing to these printers appropriately. This recovers the automatic appearing of remote queues in all-CUPS-1.6.x environments. This extra daemon should be derived from examples/client-browse-services.c but with the callback function setting up and removing the local CUPS queues when remote printers appear and disappear.

Now my questions are:

1. What is the impact of a running avahi-daemon on battery life?

2. Can a system suspend and keep suspended with avahi-daemon running?

3. When waking up from suspend, how quickly does avahi-daemon get updated on the current state of available services in the network?

4. How would be the impact on battery life of the extra daemon I mentioned in (2) above?

5. Can a system suspend and keep suspended with the extra daemon running?

6. When waking up from suspend, how quickly does the extra daemon get updated on the current state of available printers in the network?

I am asking this because one of the development goals for Linux distributions is mobile, see for example:

https://wiki.ubuntu.com/Nexus7

   Till
_______________________________________________
avahi mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/avahi

Reply via email to