Comment 3 for bug 1052897

Revision history for this message
Till Kamppeter (till-kamppeter) wrote : Re: 'Show printers shared by other systems' greyed out after quantal upgrade

The problem is that the feature of CUPS broadcasting/browsing and automatic appearing of remote CUPS queues has been removed from CUPS 1.6.x on. CUPS only does DNS-SD/Bonjour broadcasting via the avahi-daemon now. Clients do not automatically show the remote queues advertized by Bonjour. On the client on has to explicitly create a queue pointing to the remote queue. This queue should be raw so that the driver on the server gets used.

The following needs to be done:

CUPS package:

- When updating from CUPS 1.5.x to 1.6.1 remove the keywords "BrowseOrder", "BrowseAllow", and "BrowseRemoteProtocols" and also remove the argument "cups" from "BrowseLocalProtocols" (replace by "dnssd"). If this causes a problem with conffiles perhaps patch CUPS to ignore the now invalid keywords and arguments. Note that the CUPS daemon does not start if there are errors when parsing cupsd.conf.

system-config-printer package:

- Instead of graying out "Show printers shared by other systems" do not show it at all if CUPS 1.6.0 or newer is used.

Workaround for the time being:

- Hand-edit /etc/cups/cupsd.conf to remove the deprecated keywords and arguments, and to have a "BrowseLocalProtocols dnssd" line. Restart CUPS ("sudo restart cups") after editing cupsd.conf. If the CUPS daemon is not running run "sudo start cups".
Now the web interface and system-config-printer should work again.

- Run "cupsctl --share-printers" on every machine which should share out print queues to clients.

- On clients run "system-config-printer", click "Add". In the add-printer wizard which pops up then wait until the spinning icon at the lower left disappears, this means that the network scan for printers has finished. Open the "Network printers" section and choose the entry with the host name of the server. Then choose the desired queue of the server in the "Connections" list at the lower right (only if the server has more than one queue). Click "Forward" and you will only get asked for a queue name, not for a driver. Finish the wizard. Do this for each client and for each printer you want to use on the client.

- Now the desired remote CUPS printers should appear in the print dialogs of your applications.