Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ubuntu: “How are we improving Firefox snap performance?” (snapcraft.io)
38 points by ForHackernews on Sept 3, 2022 | hide | past | favorite | 117 comments


A better way to improve performance would be to switch to Flatpak.

I used to be indifferent to the whole flatpak vs snap situation, since IMO either one is better than the traditional method of using the system package manager for everything. But now that I've had Firefox snap forced upon me by my distro, I've strongly switched over to the Flatpak camp. Snaps do literally everything worse than Flatpaks, offer a worse user experience, and they use a closed-source server for the backend.

I've been a loyal Ubuntu user for over a decade, but this Snap thing is making me seriously consider jumping ship to another distro.


I moved from Ubuntu to Mint mainly because of Snap. I couldn't take it anymore. Couldn't be happier.


Ubuntu is so annoying nowadays I really don't understand who's it for anymore.

If you want a stable and non-bloated Ubtuntu or Debian based distro for your web server/cloud instance, there are many better choices out there than Ubuntu including vanilla Debian.

If you want a batteries-included Ubtuntu-based Windows/MacOS alternative for your PC/laptop with video codecs, proprietary firmware, drivers, and software at your finger tips, then PopOS, ElementaryOS and Mint are much better and saner alternatives for the Average Joe.

Feels like the only thing keeping Ubuntu popular is inertia, brand recognition, lock-in effect and the strong influence of Cannonical, but I just can't recommend it to anyone anymore. It seems like Cannonical is so out of touch, it lost the plot a long time ago with what made Ubuntu the linux distro for over a decade.


> I really don't understand who's it for.

It is, sadly, for everyone. Writing Github actions workflow? That's on Ubuntu (and you'll need to use Ubuntu for self-hosted runners for more success). Aiming to install a random package binary for a random project you've found? That's probably for Ubuntu. Need any enterprise/MDM stuff? That's probably Ubuntu.

We need people to start offering (or demanding) alternatives to Ubuntu before we can reasonably move off of it.


Why are those thing Ubuntu-exclueive and don't also work on Ubuntu derivatives like Pop_OS or Mint? Isn't that the whole point of Linux?


None of those things are Ubuntu exclusive. Not sure where he got that information.


Pop!_OS for the same reason. Also, I'm tired of how everyone seems to constantly re-invent the desktop.


Same. Snap killed Ubuntu for me. I don't normally care that much about change, I just roll with them. I got used to Unity and ended up liking it.

Snap would take my machine a minute to launch the calculator app back in 18.04 I think. And I really can't live with apps auto updating whenever the developer releases a new version. Lack of control over updates was what drove me from Windows in the first place.


Pop was such a breath of fresh air when I tried it. They are doing amazing things there, in so many ways.


Breath of fresh air is the phrase I'd use too. I didn't even realize that they were a hardware company, but after using the OS, I'd seriously consider buying their gear when the time comes for a refresh.


For what it's worth, even if you don't buy their hardware (I don't have any either, although I'm looking hungrily at their desktops and keyboards), it looks like System76 offers an option for directly supporting Pop!_OS through their site, like you might for other open source projects through GitHub Sponsors, Liberapay, etc.


What did you like, specifically?


Probably the single biggest thing was how their was nothing extra or (imho) weird.

It felt like Android on the Pixel compared to the heavily modified and bundled versions everyone else shipped.


I use Ubuntu and always uninstall snap. It's not needed at all. I will switch distros next time I need to reinstall though, probably to Fedora Silverblue.


I have Mint (you mean Ubuntu Mint?). Firefox is in a snap.


There is no such thing as Ubuntu mint.

And while linux mint derived from Ubuntu, the snap service is disabled by default while iirc system utilities (like the software manager) are provided as flatpaks.


They're making the distinction because there are two Linux Mints, LMDE Which is based on Debian, and the Ubuntu variant, which is just called Linux Mint. It is not officially called Ubuntu Mint, I believe that was a colloquialism.


Careful saying there is no such thing, this is Linux, somebody will up and make it out of spite.

I mean, there is a Hannah Montana Linux


He means Linux Mint [0], a fork of Ubuntu with a fork of Gnome and snaps disabled by default. Is there even an Ubuntu Mint? You are probably confusing it with another name.

[0]: https://linuxmint.com/


Both are non-sufficient “solutions” to the problem at hand. Nix is the first program that actually solves dependency handling, sandboxing is completely orthogonal. A tool should focus on only one of those in my opinion.


The forced Snap-ification of Firefox pushed me from Ubuntu into another distro (Pop OS). A decade ago, Ubuntu offered real usability improvements (working Wifi, what?!) compared to the competition. Now, the various Linux flavors all work approximately the same. If Ubuntu is looking for positive differentiation, Snap is not it.


It wouldn't be as infuriating if Snap weren't such an awful product, both for the user and for the developer. Just off the top of my head:

1. Sometimes it will warn you when uninstalling a snap will break other snaps; most of the time it doesn't. I removed some snap recently, and Firefox stopped launching.

2. The snapcraft CLI is awful. No way to disable colours, no man pages, no proper error codes, etc.

3. Every time you need some non-trivial piece of functionality, you have to go to ask Canonical for permission. The permission is, most of the time, granted relatively easily, but still.

4. The plug (permission, basically) system is confusing. The documentation is sparse and often doesn't actually answer, which plug you need. And you pretty much have to install snappy-debug (using snap, of course!) to find out approximately, which plug you'd need to add. Thru Canonical, of course. See 3.

5. No way to have your own instance of snap store. If you want to find out, why the upload fails or if the plug will work properly, you have to actually upload a snap to the actual Snap™ Store®.

6. Firefox cannot access /tmp/. A truly baffling thing.

The day Mark&co. finally realize that this thing won't work, no matter how many things they force into snap, is the day I will start a three-day party, heh.


Good list. I would add requiring snapd, which runs as root, to do anything with snap packages. You need to open up an entirely new potential attack surface just to use snaps.


> The snapcraft CLI is awful.

More importantly I would ask: why do I have to learn a new cli? For the convenience of canonical?


Notice that you can still use ubuntu with plain firefox and no snap at all on your system. First thing I do on a new ubuntu install is to remove snap and other clutter. It's still a plain debian totally under your control, after all.


Why not just use plain Debian, then?


For a new install, sure. But so often in my lab we get computers with "ubuntu preinstalled" and stuff.


> Effortless updates: browsers receive frequent updates and, with the snap, users are able to receive security patches from Mozilla more quickly than with other software distribution methods.

I don't see how snap is faster than apt/.deb. More importantly, apt would update a running Firefox which you can restart later. With snap, Firefox is not updated until you close Firefox and run `snap refresh`.


> With snap, Firefox is not updated until you close Firefox and run `snap refresh`.

Worse, they display a misleading pop-up notification telling you Firefox needs to be closed within X days to update. However, closing Firefox doesn't update it, and it doesn't actually tell you how to begin the update or when it will happen automatically. After searching the internet, it turns out you need to open a terminal and run a command to update it manually.

It doesn't seem like Canonical has any kind of UX team, or if they do then they're asleep at the wheel.


That popup is so incredibly bad. It alone means that I will need to install a different distro for my parents. How it got through quality control is utterly baffling to me.


Huh, so that's what's going on. I have encountered the pop-up, and in response, closed and re-opened Firefox. I 100% expected that to update Firefox.

I suppose it was always a bit weird, since I shut my desktop down at night so there's never more than a day since Firefox was last restarted.


the popup doesn't even make sense, there's no reason the image can't be updated behind the scenes and just take effect next time firefox is launched. just because a snap is in use, doesn't mean it shouldn't be able to be updated (i.e. can docker pull an update image without breaking my existent running containers).


> More importantly, apt would update a running Firefox which you can restart later.

That hasn't been my experience on Ubuntu for a while. Regularly when updating opening new tabs will display a "just one more thing to do" dialog prompting me to restart firefox. On debian 11, if an update took place firefox will sometimes keep working in a kind of degraded mode (inspect tools don't work for instance) until restarted.

edit: at the moment I can't use netflix until restarted but I don't want to restart because I have a private window with tabs I want to read later.. Sigh.


Things like this are the reason I stopped believing that software improves. Now I think it just evolves - and I think of evolution in the biological sense in that it's just a random walk without any intention behind it.


FWIW, the reason it used to work in the case of Firefox is that Firefox used to have only one process responsible for all tabs. This would mean that if any tab caused the browser engine to crash, all of Firefox would crash, and it meant that if there was a sandboxing bug, any tab could spy on any other tab.

The reason it no longer works is that tabs run in separate processes. This means that if a tab causes the engine to crash, only that crash (or a small number of tabs) crashes, while Firefox itself and all other tabs keep working, and if there's a sandboxing bug, you still have process isolation which prevents one tab from spying on another. But it also means that if you replace the binary without restarting Firefox, the parent process and the content process will be different versions and they can't really talk to each other.

Software engineering is all about trade-offs. We get improved performance, improved security and improved reliability, and we pay with increased memory usage and a less smooth upgrade process. Personally, I'd say that's a clear improvement.


Does Chrome, which has been made of many processes since day one, have the same problem?


This comment (https://news.ycombinator.com/item?id=32702062#32703005) from this thread links to this post: https://neugierig.org/software/chromium/notes/2011/08/zygote...

TL;DR: right after launch, Chrome forks off a helper process which is then responsible for forking off child processes, so that all child processes use the same process image as the main Chrome process. It also opens all files it will need right after launch and just re-uses the same file descriptors, so it always keeps references to the old files. This is complicated and brittle and a source of bugs, but when everything works and nobody makes a mistake, it means the old Chrome can keep running without problems even after all its files have been replaced with those from a new Chrome.

At least that's how it worked in 2011 according to Evan Martin.


I have another funny one: on my Debian install I use transmission. I installed Deluge because Transmission still mixes destination dir from one session to the other. Now when I right click open folder for a torrent it launches vs code with that folder as a workspace.


> evolution in the biological sense in that it's just a random walk without any intention behind it

there is plenty to complain about modern software but "random walk without any intention behind it" is neither fitting nor in any way true nor helpful diagnosis


As a user of software, that's what I've come to believe. Maybe individuals have intention of the software they write and the systems they create, but as an ecosystem, it doesn't feel like we're going anywhere in particular anymore.


Not to defend snap, but I worked on Linux Chromium wrote this about why the apt/.deb model is difficult to make work reliably:

https://neugierig.org/software/chromium/notes/2011/08/zygote...


I installed firefox straight from firefox.com on Manjaro and am using the beta channel. It self updates as they release new versions just like on windows and mac. I've been using the beta channel for many years and completely without issues. This is the fastest way to receive browser updates. Straight from the developers and without 3rd parties concerning themselves with repackaging things.

Snap/flatpak/distro packaging is redundant for this. I do the same with Intellij and a few other things. Annoyingly, chrome does not have arch packages so I'm dependent on some community package.


Probably because it requires less testing from Canonical. With snaps, Mozilla is wholly responsible for the entire distribution; they build a snap with specific library versions, test it, then ship it to users. With traditional packaging, Firefox uses system libraries, which means Canonical has to do additional testing to make sure Firefox still works with Ubuntu's library versions.

And yeah, you could probably fix that by shipping debs with a statically linked Firefox, but that's not how apt packaging is traditionally done.

At least that's my understanding of things.


Debian does all the tests for Firefox and doesn't complain about it. Canonical made a shit decision to accept snap on such a crucial piece of software, it's not ready for prime time.


And the only version of Firefox I can see in Debian Stable's (and Testing's) package list is Firefox ESR 91. That's exactly the situation Canonical wants to avoid. The current version of Firefox is 104, and even the current version of Firefox ESR is 102.


https://packages.debian.org/sid/firefox Many disagree with this stance, but Testing is in an awkward position and I generally steer people away from using it over Stable or Sid because you get downsides of both without the strengths of either. I blame Debian with shooting themselves in the foot when it comes to communicating this. Testing is not a happy middle-ground, it's a test bed for stable. Staying on Sid gives you essentially a rolling release like Arch and it's plenty "stable" for regular desktop use and should anything break you'll get the fix (usually) faster than on testing.

Sorry for going on a bit of a rant under your post, but I run into this on the regular.


I agree. I chose to focus about stable because that's where Debian "does all the tests" for its packages. I just threw in testing because it happened to have the same version of Firefox, but maybe that muddied the waters a bit.

The fact that the latest Firefox is in rolling release distros/channels but not in stable ones does prove the point a bit; you can either get a new Firefox, or you can get a tested Firefox. I generally prefer rolling releases, but I've had Firefox break in weird ways on Arch from time to time. The only way to get a Firefox that's both well-tested and up to date is to use builds from Mozilla where libraries are bundled, such as with a snap or flatpak.


forget faster - functionally better.

Firefox (at least in the past) used to break if you updated it while it was running (i.e. replaced / deleted / added files its active runtime depended on). So you had to restart it. In a containerized world, this goes away. i.e. you can replace the firefox "image" with a new one that will be used next time you restart firefox without breaking the existant running one.

with apt/deb you can't do that (besides waiting to update). On a multi user system (less prevelant these days for desktop use, but still existing) this can be really annoying to coordinate.

This doesn't answer if Snap is the right technology to do it, just why apt/deb (and related tech) have issues that they can't really solve.


How is APT able to update the code of a running process?


It unlinks the old file paths and creates new ones in their place. Files in Linux are reference counted, and they're only actually marked as deleted on disk once the reference count goes to 0; a directory entry is one reference, but the running process is also a reference, so even though the path /usr/bin/firefox has been replaced with a new file, the old file is still in use by the existing Firefox process. When you stop Firefox, the refcount for the old file will drop to 0, and when you start it again, the new /usr/bin/firefox will be launched.

The same idea applies to all libraries, where the old version of say /usr/lib/firefox/libxul.so can still be referenced by the running firefox process even after apt has replaced it with a new version.

It's not a great system honestly, Firefox will launch new processes sometimes and the IPC system kinda breaks down when the parent process and the child process are from different Firefox versions.


I'm not sure of the details, but when you update a running Firefox all your currently-open tabs continue to work, but when you try to open a new one you'll get an error message telling you that you need to restart Firefox to keep using it.


Ah right I thought you meant it did some kind of hot-patching - sounds like it still needs a hard restart like normal.


> A part of this is due to the inherent nature of sandboxing

I've got no problems with my sandboxed Flatpak Firefox.

> Why did we choose to make Firefox a snap?

All pros are shared with Flatpak.

What is the value add for users here, that couldn't be gained by using Flatpak instead? Because it certainly isn't your proprietary app store.


Snap is the one reason I most don't want to update Ubuntu, but sandboxing the browser in particular (and email client) is the one place where Snap makes a lot of sense to me (as do subsystems like SELinux).

My key problems is that I care less about Firefox being snappy as it not making the rest of my system slow:

- I don't know what bug X has, but application should not be able to commender my mouse cursor. I've seen bugs in Firefox+Ubuntu multiple times that feel like they might have security implications.

- A web page should not be able to use 100% of a CPU. There should be some kind of hard limit, perhaps with burst performance as well

- Related to the above, a background tab shouldn't drain my battery if I'm on a laptop. I don't want to give random web pages 100% of my CPU.

- Firefox should not be able to keep sucking RAM. I have hundreds of GB of swap, primarily so I don't need to worry to Firefox/Chrome/etc. memory usage/leaks. That's crazy.

- Firefox should not be able to suck GPU resources. This is a place I'm convinced there are issues with security implications. GPU drivers are engineered for performance and not stability, and there are edge cases.

- Less relevant to my system, disk usage is an issue on many smaller devices, with offline storage in browsers.

- Bandwidth limits for pages would be nice too, for both 5G bandwidth and battery.

I'd love to see richer benchmarks. Even if not optimized, I'd feel better if Ubuntu / Mozilla were actively aware / looking at these sorts of things.

I'd also like someone to think through concrete ways in which snap helps my security. Firefox can overwrite arbitrary files on my system (save-as -> pick one of your files). That's convenient for me, and for an attacker. An open sandbox doesn't help much.

I'd love to see a holistic mile-high view where someone thinks through resource usage (across different types of resources), convenience, and security). Implementing snap without that type of homework seems premature.

As a footnote, a lot of the issues might be solved with copy-on-write, both with regards to performance and memory.


> I'd love to see a holistic mile-high view where someone thinks through resource usage (across different types of resources), convenience, and security). Implementing snap without that type of homework seems premature.

I agree.

Process sandboxing should be independent from program packaging and distribution. It should be a core feature of your operating system (and it already is!) and not controlled in any way by the people who distribute the software: mozilla, canonical, etc. If you decide to sandbox some program, like firefox, or gimp, or inkscape, it should be easy, and out of control of other people. You get to decide the amount of resources that you want to give the app, and not the app developers themselves! Why this is not obvious to everybody is beyond me.

Unfortunately, both snap and flatpack fail to use this sane approach, and try to shoehorn unrelated stuff like package distribution, dependency packaging, and app stores to this simple problem.


Wow. That goes a level deeper than I had thought through myself.

The place where I've always wanted to see this is on my phone. I would like to be able to deny apps network access, location access, contact lists, etc. This should not be a series of continuous pop-us ("let us scrape your data or you can't use our app"), but simply return a sandboxed empty contacts list (which the app can manage), a sandboxed storage for photos (which the app can add / remove photos from), and a random set of GPS coordinates.

Firefox has errors, but no hostile code. Most apps seem to have hostile code. It's almost impossible to tell how hostile that code is for which app. Even when I do want to grant access, it's almost always too much. Many apps which have valid reasons to e.g. take and store photos, but that doesn't mean I want them to be able to copy and analyse my personal photos.


Sounds like you're asking for firejail or bubblewrap?


> Snap is the one reason I most don't want to update Ubuntu

That is no reason to avoid updating. I use the latest Ubuntu and just uninstall snap. It's not needed for anything.


I use the second-to-latest LTS Ubuntu, and did the same when I upgraded. That said, the overhead to getting non-annoying Ubuntu increases with each version. It feels like someone there is creating make-work; like people need a job and just randomly change things, without making them better.

Installing latest LTS Ubuntu involves going through this whole annoying process all over again.

That's not to mention the sketchy app-stores, cross-sells, etc. It's a lot less sketchy than Windows or Android, but it's not a good direction. No, I don't want an app store. No, I don't want to send data to Ubuntu. No, I don't want cloud services, accounts, and whatnot.

Come to think of it, an up-sell I would pay for is an option to download Ubuntu without all this crap. I understand they need to stay in business, and I wish they'd do so without annoying me.


An honest benchmark would include the non-snap startup times for each of their test platforms.

That said, the performance issues aren’t as bad as the fact that it’s unusable on machines with NFS home directories mounted with root_squash (as documented [0] by someone at another institution).

We’re a University CS dept with a few hundred lab machines and have been using Ubuntu for the past decade or so, but fighting against the increasing snapification every LTS is frustrating. Next LTS we’ll probably just switch to another distro. Most of our users don’t really care which distro they use - they just want Linux with NFS home, a browser, JetBrains, VS Code and a Bash shell with access to our standard compiler and tool collection Our HPC team recently switched from Centos to Alma - though I’m more inclined to stay with a Debian derivative (or more likely Debian itself).

[0] https://utcc.utoronto.ca/~cks/space/blog/linux/SnapsVersusNF...


Performance isn't even the only problem.

A few weeks ago, my mother (who uses Ubuntu) asked “Why did inkscape just discard every change I did?”. I went and checked what's going on, and apparently the snap version just doesn't open any file dialogue. She hit Ctrl-S to save and (very understandably) assumed it saved it. Well she lost 3 hours of work. Installing the debian package fixed it, and, as a bonus, it started following the system theme and stuff.

Such subtle bugs are everywhere. I don't even know where to begin investigating it, and frankly, I don't care enough. Snap is a bad, overcomplicated piece of technology that deserves to die.


Even if you don't investigate it, I wonder if you should file a bug? "Snaps causing data loss" should either light a fire under Canonical or provide a very easy indicator of their priorities.


> I wonder if you should file a bug

should? no. That takes some time, and noone is obligated to help Canonical with their disastrous project designed to push proprietary app store


Mozilla publishes a PPA for firefox if you want to install the snap free variant.

https://launchpad.net/%7Emozillateam/+archive/ubuntu/ppa


This is not from Mozilla. The "Mozilla team" here means "the people maintaining Mozilla related packages".

(I work on the Firefox install/update system, and previously CI & release systems.)


I know Mozilla isn't the litigious sort, but I would strongly suggest getting Ubuntu to either stop using the name "mozillateam" or put some monster disclaimer on that page and https://wiki.ubuntu.com/MozillaTeam because neither of them indicate it's not Mozillians making those changes


Good to know, this seemed like it was something that was put out by mozilla.


I download and install the developer edition of Firefox from the Firefox website, extracting the tarball to /opt/Firefox, and add a menu entry to the KDE launcher. Takes a little more effort at first but afterwards it's smooth sailing. It even self updates!


It's pretty stable, too. In a few years I've been using it, there were just two major issues. One could be fixed by removing an addon, and the other was fixed within a day.


The performance issues are already a solved problem with flatpak. Seems there are fundamental issues with the design of snaps for desktop applications compared to flatpak.


Ubuntu use to be a go to for me, but lately I'd rather opt for debian or RHEL for a more stable sensible experience.


The whole Snap thing is a great example of why Linux will never become mainstream. The idea is ok, but the implementation leaves a ton of collateral damage that breaks a lot of things.

For example, I installed Ubuntu 22.04 (in a VM) and installed VNC server so I could access it remotely. Surprise! Firefox and Chromium (snaps) don’t work. So one of the things I rely on is broken and I bet it’s going to stay broken for a long time.

It’s been like that for 20 years. VNC is old and boring and the devs creating things like SystemD, Snaps, etc. don’t care if they break it because they think their “progress” is more important than having a working system.

Semi related, why are all the Remote Desktop solutions on Linux so awful?


> The whole Snap thing is a great example of why Linux will never become mainstream.

A generalization too broad, as pretty much no other distro except Ubuntu uses it. If anything, it's more emblematic of Canonical's neverending desire to reinvent the world and the NIH syndrome.

> Semi related, why are all the Remote Desktop solutions on Linux so awful?

I've never had any issues with plain old X forwarding over SSH. As long as you have compression enabled, performance for most applications is fine.


The distro doesn’t matter. There’s always some advancement that’s considered so important that breaking existing apps is viewed as tolerable collateral damage by the devs.


Because most Linux users use ssh for remote work.


And before snap and systemd were introduced, it would never reach mainstream because it was bad and difficult to use.


Let's stop with the "Linux is not mainstream" please. The world's largest video game reseller's flagship device runs arch linux with a kde plasma desktop and sells like cupcakes - likely more than 1M units already. It doesn't get more "mainstream" than this.


You can't really bring a game console to the table as an argument for Linux popularity on the PC. That way BSD would be even more popular because it's shipped on every Play Station. Or whatever OS Nintendo uses on the Switch.

Sure, the Linux kernel is on almost any smart device in the world making it the most popular, but in the PC/laptop space, its market share is still absolutely tiny (<3%).


No, the PS and Switch don't use a BSD userspace and even less a standard BSD desktop such as Lumina. On the other hand SteamOS leverages a standard desktop Linux stack - KDE Plasma, PipeWire, Mesa, Glibc .. exactly the same software that I have on my Arch Linux desktop's plasma session modulo a few patches to adapt to the hardware and form factor... https://user-images.githubusercontent.com/97450182/167292656...


There are over a billion Windows devices. That 1M might seem like a big number, but it’s 0.1%.


> The whole Snap thing is a great example of why Linux will never become mainstream. The idea is ok, but the implementation leaves a ton of collateral damage that breaks a lot of things.

Right, just like how the Windows Store is the reason Windows will never be mainstream.


All i know is my downloads folder moved under ~/*/snap/Firefox and i don't like it lol.


Right? From some snap-installed app I'll save something to /tmp, not be able to find it, and then have to go on a safari trying to figure out where my file went.

It really gives me the impression that the effort is mainly about achieving some sort of theoretical or business goal, with user experience being secondary.


> the effort is mainly about achieving some sort of theoretical or business goal

snap app store is proprietary and controlled by Canonical


Firefox as a snap (the default in 22.04) was so awfully slow starting up. Removed it and am using a .deb again made everything better. I'm really not sure why they pushed when there were clearly so many issues with it.

Instructions to install a .deb and prevent the snap from installing: https://www.omgubuntu.co.uk/2022/04/how-to-install-firefox-d...


I updated to 22.04, and Firefox performance fell through the floor. There's a ~500ms delay on scrolling now.

I'm going to remove snap from my system and see if things improve, but overall 22.04 is a big disappointment.


I recently installed Ubuntu 22.04 on one of my workstations, and the system was missing a critical package that, when missing, prevented the default snap Firefox (or any other sandboxed browser) from using system application handlers. Couldn't even upload files to any website because that requires communication with the system file browser.

A less technical user would never figure this out and Ubuntu would be unusable for them in a work environment (inability to interact with email attachments being a non-starter).


Some of comments here seem a bit of an overreaction to me. And that's coming from someone who recently switched away from using Ubuntu. I don't like snaps, and it was annoying. But, getting rid of it takes like 5 minutes, or 1 if you don't have to Google how.

Remove each snap package until there are none left, purge snapd, install Firefox in any other way you feel like. And that's it.

I've since moved to Arch, and I'm much happier. But snap was not the reason.


Stories like this are a big reason I'm fleeing to Debian.


Or Mint!


Linux Mint (2,056 hits) has more page hits than Ubuntu (1,183) or Debian (911) on DistroWatch.com.

If anyone knows a more authoritative source of distro popularity, please reply.


Google Trends puts interest in Ubuntu at about half of interest in Linux, while Linux Mint is way down below Debian and CentOS: https://trends.google.com/trends/explore?q=%2Fm%2F0fpzzp,%2F...

Could all be an artefact of the way Google classifies searches into topics, though.


Is there some good Linux alternative not obsessed with snap and chance to have a proprietary app store in Linux?

For me it is as bad as when Canonical put ads in start menu ( https://www.howtogeek.com/126995/how-to-disable-the-amazon-s... )

Huh, that was Ubuntu 12.10. I wonder who will appear in Ubuntu 32.


Snap is garbage for being the default option for software. It's good at some things, but this is not one of those.


I was open to the snap stuff when I first heard about it. It sounds like a decent idea. But at this point I try to install everything I care about in a non-snap way, as I've had so many bad experiences, so many small things not working.

Do other people have the same reaction after trying to live with it?


Android Studio is snap installed and seems to work

everything else had bizarre issues caused directly by snap


Update: USB ports in docking station stop working when Android Studio is running.

I have not confirmed that Snap is at fault but that is my bet.


My main issue with the move to Snap is not performances, it's all the bugs. Coincidentally I just wrote about this yesterday:

https://evertpot.com/firefox-ubuntu-snap/


After upgrading to Ubuntu 22.04 I tried to install an older version of Kicad, because that version is the one all my colleagues are using and I didn't want to run into compatibility issues.

Long story short, Snap said I couldn't have that :(


The fancy security boundary thing totally broke smart cards. The blast radius on this Firefox snap thing overall just infuriates me.


I would have preferred to see more of the underlying data from these benchmarks, but it sounds like they've been pretty thorough in this investigation. I'm especially impressed they tested on such a wide range of hardware, not everybody does that and it helps find bad corner cases for more users.

Kudos to the team working on this.


Anecdotally, this came about as I was trying Fedora 36 and I just moved my Linux desktop and laptop to it and never looked back.

I just don't like Snap (or Flatpak, but less so, since it actually seems to work without breaking desktop integration).

Whenever I do need to use an Ubuntu desktop, I now install MS Edge or Epiphany instead.


The best way they could improve Firefox snap performance is to ditch snap altogether.

It's win win situation.

They are trying to forcefully push something that no one wants or needs and that is frankly inferior to Flatpak.


both `libssl` and Firefox are in snapd containers, with mysterious voodoo cant-turn-it-off remote management settings too. First move ? remove each container one at time, starting with the complex ones and the base last, then `snapd` completely, then the caches; complete by installing stock distro `libssl` and your browser of choice (or two).

here's hoping that, similar to the desktop snafu, Ubuntu/MSFT realize that forced (user-hostile) defaults are not the only possible way forward here.


"In the snap, we bundle 98 language packs which unfortunately take quite a while to copy into the user directory"

98 language packs, is it normal Firefox?


Well, given the consensus on hating Snap, this is gonna be controversial but: I think snaps are a great idea that simply needs to be refined.

Positive things I see:

- It gives much more flexibility to Canonical in terms of introducing changes in the system. It might mean that they can also simplify the maintenance of the distro and focus in other much more important areas.

- It gives the developer much more control over the release and distribution process.

- It allows to use newer versions of the software were before you had to stick in some cases with very old ones provided from the repo or go and spend a couple of hours reading and compiling the new version yourself

- It integrates well with command line apps, thing that Flatpak doesn't do natively.

- The process of creating a Snap is fairly trivial. A simple easy to grasp yaml file pretty much that you can place in your repo.

- It provides better security by sandboxing the app and allows granular permisology via plugs.

Things to refine/improve:

- Speed. It is something I haven't noticed myself, but I heard people complaining about this many times.

- Allow users to pick an specific version from a history of releases for a given app. In an ideal world, newer version would mean always "better" and therefore, upgrading automatically to the most recent one would be desirable, but we all here know that this is not the case and sometimes you just need to use a few releases back one.

- The Snap store. There are two things I don't like:

1. The backend is not open source.

2. It is a central place controlled by Canonical. In my opinion, Canonical should make the backend available for others for allowing them to make their own stores if they want and Canonical should focus in the added value of their own (e.g providing malware scaning, payment processors, CI/CD, stats etc)

Overall, I am not a Ubuntu user myself but I can understand, from a technical point of view why Canonical is trying to push for this. Unfountunatly, they are not Apple and they operating in a comunity of users that do not deal very well with impositions and pretensions from a company (and cheers to that).

Having said that, I would recomend to the comunity in general to try not to be that toxic, negative and argumentative. At this point, I seriously think the worst enemy of the GNU/Linux is the comunity itself. IMHO, we should be more constructive, less arrogant and less ideological. The amount of hate I've seen towards Canonical, Snap, Systemd, Gnome and what not is simply bonkers.


I just know Mark is reading every message in here and going to take it out on his product team Monday morning


The question I had was more about how exactly does using snap help users? I have only ever fought with it.


snap is the new systemd

I dunno, I am only slightly inconvenienced by it, not enough to run apt uninstall snap though.


Switched to OpenSUSE Tumbleweed after over a decade of Ubuntu. Love it. No snaps.


sudo apt uninstall snapd


Not a linux user really, why does everyone hates snapd?


It creates a folder ~/snap on your home directory.

That should amass enough hate for everybody.


It's slow to start up. It prevents you from installing the version of something you want. It updates on its own schedule. It has numerous bugs relating to the sandboxing that prevents apps from fully working properly. It mucks with your home folder structure...


Read the comments here.


This is from May/June


I was actually one of the people that thought snaps and flatpaks are the future of Linux desktop computing, because they isolate software and they make distribution much easier. But since Ubuntu 22 switched to the Firefox snap I am not sure if I think that anymore. I have been using Ubuntu many years ago (when the version was still in single digits), then didn't use it for a while and then started using it again with the release of Ubuntu 18. Since I started using it again I have been recommending it to everyone every chance I got, but I think it's not worth anyone's time anymore. After updating to Ubuntu 22, almost everything broke. When I pressed the super button to "zoom out" and see all my windows and then clicked on a window to switch to it, about a third of the time the screen turned grey, the whole shell crashed and I had to wait a few seconds for it to come back. Another third of the time it just did nothing. When I close Nautilus (the file browser) it crashes about half of the time (and still does to this day). In Firefox dragging tabs to my bookmark folders did not work if you drag the tab to the bookmark bar of the same window. You had to drag it to another window's bookmark bar (took me a while to figure that out too). It still happens sometimes. The right-click menu was themed incorrectly (had a different color than anything else). But the worst thing were the downloads. You could not download to any other folder but ~/Downloads. Not even subfolders! And If you did download to a subfolder after a few seconds it would slow down the whole application to an absolute crawl, where scrolling was non-interactive and switching tabs took seconds. If you then abort the download and download with Chromium instead (also a snap), Firefox freezes completely until the download is finished in Chromium, after which Firefox unfreezes. What kind of sandboxing is that? And yes, this was reproducible. I cannot even imagine the kind stuff they are building there and I have no trust in it anymore. I realize I got hit unusually hard, but this is supposed to be an LTS release and it's a total mess. Now that many of the problems have been fixed, what's left is also an OS I do not enjoy anymore. Firefox is nagging me that it needs to be updated all the time. Because when I close Firefox and shutdown my computer for the day, I always forget to run "snap refresh" after closing Firefox. It doesn't update it before you start it again or after you have closed it, but if you dare run it again, without having updated it, it will complain with a Desktop notification. It's so, so bad. Also I run "snap update" every time, before I need to check the help text again to see that it is "refresh". Snap is probably the only program I have ever encountered that calls updating "refresh"ing. Also Ubuntu is now telling me constantly that I need to "restart and update your computer" IN THIS ORDER. Now I need to reboot every couple of days to install updates. In the YEARS before, I just got a popup where I could press "update", while the system was running and restart whenever I felt like it. Are we Windows now? On my Laptop I already switched to PopOS (I won't even try to interpunctuate that silly name correctly) and if I have the time and can risk wasting a few days, I will upgrade my desktop machine to PopOS too.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: