Using Snaps in Ubuntu MATE

You have choice, in Linux is always choice … if you seriously dislike how Canonical handle Snaps (and maybe something else), by all means, switch to another Linux distribution that do not install Snaps by default. Canonical already made its point about Snaps, that’s a fact. You committed yourself and made a personal, free and voluntary decision to use Ubuntu Mate, then accept it the way it is… or leave it. Of course always exist the freedom to discuss, propose changes, etc, but … you can’t change the trends in technology and how Canonical perceive itself, and how it will proactive/reactive respond/act to the challenges.

@guillef I know about choices in free software, and there are more than the ones you mentioned (like uninstalling the pre-installed snap package and installing the deb equivalent). I committed myself in using Ubuntu Mate and I 'm happy for doing so - I really like my computing experience with it. I see this discussion as a way of giving feedback to help make Ubuntu Mate even better. People can make mistakes even with the best intentions (e.g. the mr.robot related add on that Mozilla installed in Firefox and resembled malware resulting in an ugly surprise for a lot of its users - firefox is my default browser btw). I don’t believe that you should outright reject someone for any mistake (and that’s without factoring that subjective opinions about who is in the wrong are not always right). That doesn’t mean you shouldn’t give feedback so a better course of action is chosen in the future.

If you install firefox as a snap it will update whenever it wants (there are ways to configure update windows in snaps with exceptions if the update doesn’t happen). If you install firefox as a debian package (deb file) it will update whenever the software and updates application triggers it - and the user can configure that according to his needs. Is this discrepancy making the user experience better? Wouldn’t Ubuntu Mate be better if software and updates application controlled when snaps update as well as normal deb packages?

1 Like

I didn’t mean rejection, sorry if I sounded like that, I just wanted to clarify some facts and point at the negativism for the sake of negativism. Snaps are now part integral of Ubuntu and they will be used by Canonical for the foreseeable future. I hope and wish that discussions and feedback will help better develop and management. Snaps, Flatpaks and Appimages, appeared as a reaction of the need to facilitate the development and distribution (and subsequent installation) of cross-platform applications, with the goal of increase Linux adoption, hampered by fragmentation, slow maintenance of applications updates, workarounds (PPAs, extra non-official repositories, etc), incompatibilities, dependencies and, in many cases, the inevitability of compilation from source. Let me mention one example: Qalculate!, a multi-purpose cross-platform desktop calculator, Ubuntu official maintenance package is at version 0.9.9 released 2 years ago and the homepage indicated ( http://qalculate.sourceforge.net) was moved to Github several years ago. Latest version is 2.4. Only 1 developer (Hanna Knutsson, its creator), no time to maintain several packages for so many Linux distros, only Windows installer, so you have the sources to compile, not an easy task, even for a seasoned user. So Knutsson took advantage of the opportunity and created a Snap (https://snapcraft.io/qalculate). Problem solved for her and her Ubuntu users.

@guillef I agree with your last post. I never said Ubuntu Mate should not use snaps. I suggested that Ubuntu MATE avoids using snaps as part of the core system because the way they update cannot be handled by the software and updates app. Therefore they may well update and cause regressions to apps that rely on those snaps (because applications that are part of the base system are being used by other applications) ,or just plain confusion, because things update without any feedback or control to the user.

However even in the above position I am not saying there can’t be exceptions. One example is Steam. For people who play a lot of games this can be seen as a core application. But given the software stack it relies on, and therefore installs, steam may well be better installed as a snap than a normal Ubuntu package to avoid stability and security problems the outdated steam libraries may cause.

3 Likes

How do I give permission in Mate. There is no app that does this. I need to give viber webcam permission. I tried to install the gnome software thing but it does not fill up and is "broke"

As I'm personally not keen on snaps, removing them after installing Ubuntu MATE would remove our pre-installed, bespoke :ubuntu_mate: Welcome and Software Boutique apps. Newer versions have only been distributed as snaps until now.

As I like choice of how software is distributed, I've reinstated the ubuntu-mate-dev/welcome PPA so they are packaged as Debian packages again.

sudo add-apt-repository ppa:ubuntu-mate-dev/welcome
sudo apt install ubuntu-mate-welcome

So, you could install Ubuntu MATE, remove snapd and enjoy things as they are with just Debian packaging.

5 Likes

Hello

Snap-technology is, and will continue to be, very important for Canonical. However, there is a single "gatekeeper" in the snap-process, Canonical.

I like options.

P.S.
Thank you Canonical for giving (literally) the world Ubuntu. :slightly_smiling_face:

1 Like

@lah7

Thank you for doing this. I have been doing that (replacing snaps with their corresponding debian/apt packages) in my systems. The reason for this is that snaps don't have an off switch regarding updates (This has been extensively debated here.) On my, and my family's, laptops I only allow for manual approval of updates. This allows us to identify new features or bugs because of updates easier.

2 Likes

I'm really curious as to why Welcome of all things was chosen as a snap. I mean, it runs once right after you install MATE, and that's it. So surely you never actually SEE the snap-updated version, and only ever the one that was on the install media, no? Can someone enlighten me on what I'm missing?

re snaps in general, they're pretty clearly the usual mix of "sometimes good, sometimes bad, sometimes the same", and it depends entirely on what the specific snap is for, its environment, and so on.

In my VERY limited use of them personally, i.e. exactly one time, the outcome was "utterly broken, and utterly useless". That was the VLC snap, because I needed 3.x for something, but it couldn't read from the NAS because of confinement; no ?connector? (can't remember the terminology) could fix it; and (though IDK if this was a bug in that release of VLC rather than the snap system itself, since I never installed it "for real" BECAUSE this problem made the app unusable) the UI was broken as hell because it didn't read the screen size properly and/or defaulted to 1920-wide for the onscreen controller, on a 1364x768 TV. :frowning:

That experience though is, I think, a good example of issues relevant to the OP. Sh*t happens, and software breaks. MATE less than most, but modern software does it a LOT, because of teams that want to be Agile but don't understand it at all (and don't really care about quality in the first place).
MS famously released a W10 update that literally DELETED USER FILES. Not having the ability to block an update, or lock a package to a version because a newer version breaks something critical, is simply not a sane way to run a system unless you can trust that every single piece of software in the system is being developed by teams that aren't EVER going to screw up royally, and almost no group is that good ALL the time.
Another recent example is Mozilla, who through a combination of staggering arrogance and incompetence managed to break literally every Firefox add-on, all at once, and it took them several days to fix it. "Several days" may not seem a lot, but it's a long time for something to not work when it's as important to you as a browser is to most users.

The snap team's position, and argument, is the same as MS's. And it's very understandable. But it's also simply not appropriate for the real world, and it's downright insulting to users as well. "You're too stupid to be allowed to control your own system. But WE'RE perfect, so it's okay for us to make those decisions for you even though we know literally nothing about your use cases or environment". I mean, WTF?! :roll_eyes:

TL;DR - Although the idea sounds wonderful (and has the last dozen times similar things have been proposed and/or implemented over the last 20+ years) there are very genuine concerns and problems with it, and until the snap team get off their high horse and acknowledge that those problems do exist, snaps should nearly always - if not even absolutely always - be avoided, from a distro's standpoint.

software-boutique is still part of ubuntu-mate-welcome - and its curated selection is contained within the application, rather then externally downloaded. Reasons that led to this becoming a snap include:

  • New users often missed or misunderstood the "subscribe for updates" button.
    • Updating :ubuntu_mate: Welcome provides the latest documentation and translations.
    • Updating :boutique: Software Boutique provides the latest curated apps.
  • Updates were slow because they were subject to SRU restrictions.
    • There's more involvement and review required to push to the official archives after release - it could be stuck in a queue or didn't meet criteria for qualification.
    • Slower updates resulted in a less polished curation of apps - e.g. Oracle VirtualBox didn't provide builds for 16.04 till a week or two later (external source) or the Brave browser pointing to an old repository and expired signing keys.
  • Official flavours cannot have PPAs enabled by default, and generally discouraged.

I believe Ubuntu MATE was the first flavour to provide a snap pre-installed, so I guess that was good feedback for the snap team.


Snaps are a mixed bag. :confused: As mentioned earlier I'm no fan either but I get why Canonical are invested in this technology. See this other topic for others thoughts:

(No, Ubuntu are not moving to snaps only - but chromium-browser will transform from deb to snap)

2 Likes

ah - so Welcome is effectively a meta-package for documentation, not just that splash screen after install. Thanks, and yes: that's one of the very few cases where I'd say a snap-like system is genuinely a Good Thing. (Themes was the one I thought of after I went to bed last night).

I've never used Boutique, but (I assume) again yes: you're fundamentally updating metadata with that, not pushing the actual updates etc. It's basically "apt-get update", which is a very different scenario to "apt-get upgrade --force-yes"!


I think most of us here understand the pros and cons of snaps / W10 / etc as a concept, but those pros and cons have fundamentally different degrees of IMPACT to the two sides involved, and that's what both sides miss (or at best, tend to ignore) about the other.
When a bad update effectively (and in extreme cases, literally) bricks a user's machine, the impact to that user is obviously immense, but the impact to the developer responsible is almost non-existent.
When the release process for the developer is a huge PITA, or hundreds of hours are wasted dealing with issues in old versions etc, users don't GAF because they don't see that impact at all.

We (the larger "we", that is) could discuss this til the end of time and still never agree on the "right" answer, because there simply isn't one. snap (and Mozilla / MS / etc) arrogance is an attempt to solve a social problem with a technical solution.
apt, by default, is ALREADY exactly what a BETTER snap system would be: everything is always up to date; but if something breaks then as long as it doesn't brick the machine (or apt itself) you can revert. But that ability for the system to cope with problems is exactly what snap wants to remove. The question they should be asking is "Wait - why are their apt settings NOT at defaults any more?", not "How do we [effectively just remove that capability from apt]?". :slight_smile:

It's still updating the entire application. Snaps do perform "delta" updates - so instead of Apt downloading and unpacking a new archive (12 MB), it would just be a 239 KiB update (the size of the changed file that contains Boutique's app listing).


Kind of, but the two formats work differently.

Apt - The maintainers of a package in the Ubuntu repositories decide when to update. Many packages are not the latest throughout a release cycle, since packages need human review and testing (in proposed) before they are available to users. Many packages are inherited from Debian.

Snap - The developer decide when to release - but it's ultimately down to them to be sure they did enough testing before they push out an update. As a wild guess, most snaps are user applications then system components, so breakages shouldn't happen. I agree with the concern that the user lack precise control over how/when they update.


Snaps, in my opinion fit better for proprietary software (like :musical_note: Spotify), whereas FOSS software works great with the Apt model where it's transparent (retrieving the source and any patches) while being sure someone confirmed it works with that release.

PPAs (some official, some community) can provide the latest software too, but the system can sometimes still be outdated. For example, my VirtualBox 5.2 in 16.04 had theming issues as one of the installed dependencies were outdated (Qt). If it was a snap, in theory the self-contained feature would allow it to have all the latest dependencies independent to the rest of the system :+1: ... while sacrificing disk space and control/knowledge when it updates. :-1:

Another example: AptDaemon is the backend for :boutique: Software Boutique (at the moment). It's now deprecated and we were asked to remove it. Since it's a snap, we continued to keep it - until Software Boutique 2.0 which will replace it with PackageKit.

1 Like

It's still updating the entire application.

Sorry, I guess I was unclear: what I was saying is that there's a big difference between Boutique being updated so that it knows that new apps EXIST, and it automatically installing those apps, without any user interaction in either case. The first is fundamentally a "safe" and non-belligerent operation, the second not so much. :slight_smile:

re apt = better snaps, i meant purely from the delivery / update / fallback technical and behavioral aspects, rather than the specifics of actually "being allowed to" push that update. Thanks for layout out exactly what those specifics are though: it's good to know.

1 Like

I don't mind Snaps but people should be allowed to turn auto-update off for any Snap app.

3 Likes

I've enjoyed reading this thread so I'm posting my 2 cents worth. I'm just posting this for a bit of fun, so please don't take it too seriously :smile: The list of snaps on my system is at the bottom of this post. I'm a relatively new Linux user, so Snaps/Software Boutique makes installing newer versions of these non-system apps much easier. For example, installing Gnome recipes through apt would also mean downloading almost the entire Gnome desktop. With the Gnome recipes snap, the Gnome desktop dependency is downloaded as a snap and doesn't mess up my MATE settings. So for mixing apps from different DEs - like I'm doing - snap is actually a blessing. I installed the chromium snap to see what all the fuss is about - it works fine on my system. If it still works fine after a month - I'll just delete the deb version.

Totally agree re: snaps & proprietary apps. I have some installed as a snap as it's much more secure to install them that way instead of installing their deb packages. That's just my opinion. Snaps taking up more space isn't an issue for me as I have a 2TB drive. The only thing that is weird about the snap store is that Flexiondotorg (@Wimpy) isn't a verified developer - very strange. Maybe I should be seriously thinking about asking Canonical for a sponsorship :stuck_out_tongue_winking_eye:

I hope that this list didn't give those people that hate snaps a heart attack :wink: It's amazing my old system runs so well given this much bloat :laughing:

1 Like