Printer sharing via CUPS broadcasting dropped in CUPS 1.6.x, some adjustments needed

Bug #1052897 reported by James Troup on 2012-09-19
84
This bug affects 16 people
Affects Status Importance Assigned to Milestone
Release Notes for Ubuntu
Undecided
Unassigned
cups (Ubuntu)
High
Till Kamppeter
system-config-printer (Ubuntu)
High
Till Kamppeter

Bug Description

Ever since upgrading to Quantal the 'Show printers shared by other
systems' option is greyed out in System Settings -> Printing. (And,
perhaps redundantly, advertised printers which I saw before the
upgrade, no longer appear.)

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in cups (Ubuntu):
status: New → Confirmed

The checkbox to enable showing printers shared by other systems also seems to be gone from localhost:631/admin, and enabling local printer sharing currently breaks CUPS entirely: the system-config-printer-gnome applet will no longer connect to CUPS, and localhost:631 will reject the connection (Error 102 with Chromium). The only way to be able to log in again is to purge and reinstall the cups package.

James Troup (elmo) on 2012-09-25
tags: added: rls-q-incoming
Till Kamppeter (till-kamppeter) wrote :

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.

Changed in cups (Ubuntu):
status: Confirmed → Triaged
importance: Undecided → High
assignee: nobody → Till Kamppeter (till-kamppeter)
milestone: none → ubuntu-12.10
Changed in system-config-printer (Ubuntu):
status: New → Triaged
importance: Undecided → High
assignee: nobody → Till Kamppeter (till-kamppeter)
milestone: none → ubuntu-12.10
summary: - 'Show printers shared by other systems' greyed out after quantal upgrade
+ Printer sharing via CUPS broadcasting dropped in CUPS 1.6.x

More obsolete keywords incupsd.conf are "BrowseDeny" and "BrowsePoll". Note that due to bug 1036974 CUPS crashes if there is an invalid keyword in cupsd.conf.

Changed in system-config-printer (Ubuntu):
status: Triaged → Fix Committed
Changed in cups (Ubuntu):
status: Triaged → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cups - 1.6.1-0ubuntu8

---------------
cups (1.6.1-0ubuntu8) quantal; urgency=low

  * debian/cups.postinst: Clean /etc/cups/cupsd.conf from all keywords and
    settings which got obsolete with the dropping CUPS Broadcasting/Browsing
    in CUPS 1.6.x: BrowsePoll, BrowseAllow, BrowseDeny, BrowseOrder, and
    BrowseRemoteProtocols lines get removed and the "cups" argument gets
    removed from the BrowseLocalProtocols line (LP: #1052897).
 -- Till Kamppeter <email address hidden> Thu, 27 Sep 2012 14:48:30 +0200

Changed in cups (Ubuntu):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package system-config-printer - 1.3.11+20120807-0ubuntu9

---------------
system-config-printer (1.3.11+20120807-0ubuntu9) quantal; urgency=low

  * debian/patches/35_server-settings-dont-show-widgets-of-obsolete-cups-features.patch:
    With the dropping of the CUPS Browsing feature from CUPS 1.6.x some
    configurable settings supported by the "Server Settings" dialog do not
    exist any more. This patch makes them disappear if the CUPS version in use
    is 1.6.x or newer (LP: #1052897).
 -- Till Kamppeter <email address hidden> Wed, 26 Sep 2012 23:01:00 +0200

Changed in system-config-printer (Ubuntu):
status: Fix Committed → Fix Released
Jonathan Ernst (jonathan.ernst) wrote :

Do I understand correctly that this means that there is no longer a way to automatically show all queues available in the user's current location and that we have to manually add each printer on each location (and that those printers won't disappear when the user moves somewhere else)?

If that's the case, this is a serious regression...

I guess this was to be expected with Apple being in charge of CUPS. No longer having network printers automatically discovered and needing the drivers on the client-side are two of the worst regressions in Ubuntu and GNU/Linux in general that I've seen in years.

Fork time? Seriously, this is bad. Ubuntu's printing system will be just like Redmond's now!

@Kevin

It will actually be worse than on Windows where shared printer are automatically added...

I wish we could downgrade cups for quantal until those features are back in one form or another...

AFAIK you do not need the driver on the client. See comment #3 for details.
"you will only get asked for a queue name, not for a driver." I can confirm
that if done correctly you do not get asked for a driver.

On Wednesday, October 03, 2012 04:51:23 PM Kevin Keijzer wrote:
> I guess this was to be expected with Apple being in charge of CUPS. No
> longer having network printers automatically discovered and needing the
> drivers on the client-side are two of the worst regressions in Ubuntu
> and GNU/Linux in general that I've seen in years.
>
> Fork time? Seriously, this is bad. Ubuntu's printing system will be just
> like Redmond's now!

See bug 1061063 for the need of re-introducing the feature of remote printers automatically appearing in print dialogs.

summary: - Printer sharing via CUPS broadcasting dropped in CUPS 1.6.x
+ Printer sharing via CUPS broadcasting dropped in CUPS 1.6.x, some
+ adjustments needed

Closing Release Notes task as we have re-introduced the CUPS Broadcasting/Browsing feature (bug 1061063, bug 1061069).

Changed in ubuntu-release-notes:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.