CUPS Snap - Call for Testing

@mohan-ram the !OMG Ubuntu article is already out for some weeks, the actual switchover happened last week. See also my OpenPrinting June News about the article.

@fthx Unfortunately system-config-printer is not actively developed any more. It is only in maintenance mode, bugs getting fixed and Weblate translations accumulated. Probably also Red Hat uses GNOME Control Center as default printer setup tool now. So on systems with the New Architecture (as Ubuntu 23.10 which uses the CUPS Snap) the classic printer setup tools, like system-config-printer, do not work any more, as I have explained in a talk on the Linux App Summit 2023 (video, slides). Therefore we have removed the button to call system-config-printer.

Anyway, this button is not upstream GNOME anyway. It was introduced by a distro patch, so probably only existed in Ubuntu, perhaps also in Debian. The change you mention drops this patch (and the GNOME Control Center in my PPA to test the New Architecture with Lunar has dropped it, too).

So the presence of the button was temporary, as the name of the patch file suggests. The removal of the button is not temporary though.

1 Like

On my Ubuntu Mantic 23.10 installed from ISO dated 230717 my printer HP Officejet 2620 works fine (with CUPS snap?).
On same PC different partition Mantic installed from ISO dated 230722 I can’t configure the printer.
All snaps are at the same level. May You help me?
I opened a problem on snapcraft: https://forum.snapcraft.io/t/unable-to-add-printer-hp-officejet-2620/36109

On my Ubuntu Mantic installed from ISO Ubuntu 23.10 “Mantic Minotaur” - Daily amd64 (20230806) i’m still unable to use my printer.
I opened some bugs but received no reply:




The switchover to the CUPS Snap on Ubuntu 23.10 is still under development and some parts are still missing.

Especially

  • GNOME Control Center needs to be modified to support CUPS in a Snap
  • system-config-printer does not work any more with CUPS in a Snap, it will get removed
  • Existing print queues of a classic CUPS installation will not yet get migrated to the CUPS Snap, a migration script/package will get added later
  • Classic printer driver packages (“printer-driver-…”) are not supported any more and will get removed.
  • Printer Application Snaps replace the drivers. They are emulations of driverless IPP printers and have web admin interfaces on “http://localhost:8000/”, “http://localhost:8001/”, “http://localhost:8001/”, … which can get accessed with a web browser. They will be also listed in the “Printers” module of GNOME Control Center, once the module having been updated … These web interfaces are currently the only way to set up printers which need a driver. In the web interface, use “Add Printer” in the upper right to create a print queue.
  • Modern printers are driverless IPP printers. These get available in CUPS automatically, also if connected via USB (then the printer’s web interface is on “http://localhost:60000/”, “http://localhost:60001/”, …). In these web interfaces you can especially configure the Wi-Fi of printers without front panel screen and without Ethernet, so that you can use them on the network without cable.

Also, after going through these points to check correct printer setup, there can still be bugs due to the fresh switchover.

That sounds like it will impact all flavours if we have to make modifications (whatever those maybe). For Ubuntu Budgie our gnome-control-center fork called budgie-control-center sounds like will be “broken” for the moment.

@fossfreedom A package to try out the changes applied so far on GNOME Control Center you find in my New Architecture PPA for Lunar. Changes are tracked in Mohit Verma’s GNOME Control Center GitHub branch. In the next days the work on the changes will get continued.

Thx. That’s quite a big patch to carry and I will need to convert that to GTK3 for UB.

So are we saying now that for anything other than GNOME shell, the only way to set up printers is via the cups web interface?

Ok, I succeeded to print an image with GIMP snap.
However I had to add the cups-control permission.

And I get this in GNOME control center:


I suppose this locked state (without any unlock button) is part of the updates to come in G-c-c ?

I was not aware that GNOME Control Center 3.x is still in use. You need to know that the patch is on G-C-C and not on GTK. We gave simply based ourselves on the maintained version of GNOME Control Center.

GTK does not contain any code to manage printers, only code for actual printing. For printing one can once work around by keeping cups-browsed active (which is also included in the CUPS Snap). The better solution is to make use of the xdg-desktop-portal and use the printing portal for getting the print dialog from the desktop. So one needs GTK 4 only at one central point. The portal is not only available to apps which are provided in Snaps or Flatpaks but can also be used for classically installed apps.

@jbicha you told this at least on GUADEC last week. Could you give more details for @fossfreedom here?

I assume that your G-C-C is the unpatched version from your distro? Or did you install the version from my PPA?

Is your PPA only for Lunar or also for Mantic?

It is only for Lunar, but it should be no problem to rebuild the source packages on Mantic.

Yes I do use Mantic unpatched.

Many flavours recommend in their seeds on system-config-printer I presume to setup and manage printers. For example xubuntu. If this is going to be removed is the only workaround for someone to point their browser to localhost:8000 and/or localhost:60000 ?

This assumes end-users are familiar with the web-interface and how to browse to them obviously.

Correct UB uses a fork of GCC at v3.x (actually fork at GCC v41) - so I’m trying to understand what the impact on us will be. It sounds like at the very very minimum clicking the printer panel for us will need to have a web link to those browser web options. We don’t normally have a ubuntu specific control center - ours needs to work with both in Debian which uses standard debian package based printing as well as snap based printing in Ubuntu/those users who remove the snap and just use the debian packages. So code changes needs to understand what package mechanism is managing printing.

I went to update the Ubuntu Studio seed today to remove gimp-plugin-registry so that GIMP 3.0’s RC could migrate, and much to my surprise, everything having to do with cups was removed from the seed. Unfortnately, I have no idea if simply adding * snap:cups to the seed would be sufficient or if, much like Firefox, there’d be additional snap dependencies.

Honestly, I’m a bit miffed about this as there should have been some posts to the ubuntu-devel@ mailing list before this change occurred so that proper communication happened as I, for one, don’t monitor every single channel here. Therefore, I don’t feel as though there was sufficient warning to the flavors or the flavors were considered in this move.

1 Like

Looking at your manifest all the printing stuff which is snap based is already there (scroll to the bottom) - https://cdimage.ubuntu.com/ubuntustudio/dvd/current/mantic-dvd-amd64.manifest

All flavours have these changes automatically since they have been added to the base common seed which we all inherit from.

Flavours I presume need to manually remove all printing packages they may have added previously added in their seeds (if they haven’t already done so) since the snap supersedes these - that’s my assumption here - like you I only knew of these changes when I was investigating why our ISO size was huge for a while (another issue that has since been resolved).

1 Like

@fossfreedom @eeickmeyer To get a printer setup tool one should perhaps look into one of the following possibilities:

  1. Replace any forks from older versions of GNOME Control Center by the current version and port any additions to that version.
  2. Create a separate printer setup tool and keep the G-C-C version/fork already in use. To minimise the effort of getting this separate printer setup tool, take the current version of G-C-C and skip building all modules but the “Printers” module.

WDYT?

Using http://localhost:8003/ I installed my printer. From gnome-control-center I see the printer and can print the test page, from gedit an gted i can print a .txt document but i’m unable to print from evince and Libreoffice
https://bugs.launchpad.net/ubuntu/+source/evince/+bug/2030783
https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/2030785
Also from GIMP 2.10.34-1 (.deb version) i can print.

possibility 1 - 'fraid not GNOME GCC on budgie is very broken. Plus this doesn’t help flavours - only GNOME Shell ships GCC and doubt others would want to.
possibility 2 - I think you are saying “replace system-config-printer” with something based on gnome-control-center but reduced to just the printers code.

image

So something like the above - that’s just a quick hack of the code I have done - it needed to trim out all of the panel code except for printers. Obviously in this case, there is no need for the side panel - so more hacking is needed.

But sure - hacking a new system-config-printer app based on a trimmed down GCC probably would work for flavours - flavours obviously need to brought into this.