Third, the notification has one call to action: shut down the application. This application will be updated, so shut it down. If the user closes the application, presumably that then triggers it to be updated, right? But no: the snap updater runs on a schedule, and it could take 6 hours for it to run again, check whether the application is running, and then apply the update if it’s not. Is the user supposed to leave the application shut down for up to 6 hours? How could they possibly know to do that? You could see a user getting into a cycle (for 13 days!) where they restart the application, and then 6 hours later the intrusive (and apparently not suppressible) notification pops up again.
I thought the same thing the first time I saw it. The only solutions are to either close Firefox and wait for several hours for something to silently happen in the background, or Google for the CLI command to run to update it. Really bizarre UX, I would love to hear someone from Canonical explain why they thought that was a good idea. Is there something I'm missing?
I’ve also been annoyed by this. I don’t have it handy but I did find the ticket where their conversation to implement this first happened. I guess before it would just update without notifying the user.
The idea in that conversation was, at least what I took away from it, that the user gets the notification and now knows at the end of the day they should close the app and in the morning it’ll be updated!
Seems fine on paper. But the messaging in the notification doesn’t tell me that at all. And it turns out despite all the nagging I always forget to close things before I step away.
I hate the execution of this feature. So much. All the nagging. All the confusing messaging.
On top of it all, I don’t feel like snap gives me any qol improvements in exchange.
What’s most frustrating is that snap knows the entire state of the world! They know when the application is started and closed. Could download the update at anytime and upon closing the old application, link to the update and delete the old version.
Not only that, but I stopped leaving computers on years ago. And couldn’t do that if I wanted to since it’s a laptop I’m putting away in a bag. The thing’s going to sleep until next work day.
Yep, this prompted me to uninstall the snap version of Firefox that was installed by default in Ubuntu 22.04 and reinstall it from the Standard Ubuntu repository. Score minus one for snap.
There is no package for Firefox in Ubuntu 22.04. The package called firefox does not contain a browser, its just transitional for upgrading older versions to snap.
I started to download Firefox from Mozilla. But just because I have not decided yet what distro to use for family computers. Archlinux is fine for me, but not suitable for everyone.
What you're supposed to do is close the application then run "snap refresh", but there is absolutely no hint that this is what you have to do. I had to look it up online as well. A sane person, in 202X would assuming closing the application would immediately trigger the update, as you said.
Consider Linux Mint. It's based on Ubuntu, but doesn't use the Snap Store. (And from my experience, works like a charm and is well polished.) From the Mint description of the Snap Store:
> The Snap Store, also known as the Ubuntu Store, is a commercial centralized software store operated by Canonical.
and
> This is a store we can’t audit, which contains software nobody can patch. If we can’t fix or modify software, open-source or not, it provides the same limitations as proprietary software.
Another vote for Linux Mint. Run it on my trusty X220 (main driver), a Fujitsu (mainly for media and browsing), an HP (media + browsing), and my mom's ancient Dell laptop. Works flawlessly, leaves me in control, gets out of my way, and has, for my taste, wonderfully sane and reasonable defaults.
Debian is another option too, and is used heavily in industry unlike Mint. I'm disliking Ubuntu more and more but it'll be a lot of work to migrate my fleet over, all managed via Landscape (which is Ubuntu-only). While I'm currently trialing 22 LTS in a limited environment I'm not sure if this is a distro I want continue sticking with in the future.
I guess I could say the same for GNOME, but that's what my users are familiar with. The Ubuntu and GNOME setup works well - for now.
Can confirm, I uninstalled snapd the day I installed Ubuntu 22.04 and I have been running it for months. Firefox seems to be the only popular package that redirects to a snap (out of my own usage this whole time, at least).
I don't know why they did that, and I am a bit worried I will have to abandon Ubuntu if they move more packages to snaps in the next release. But for now all you need to do is the workaround above for Firefox.
Just to add a data point, I recently went back to Linux after spending years in the MacOS world. Installed Ubuntu out of habit, got the exact same thing happen to me (removed snap, installed firefox through apt, got snap back) and went to Pop OS. Could not be happier with the overall system and still very much disgusted by what Ubuntu decided to do.
This sounds exactly like Canonical's doing these days.
Recently found I was asked to teach a workshop to help student use Kenya's KENET vlab, it is a vm platform from Kenya's education network, to run our program.
Their system have some prebuild image for us to use including Ubuntu. Probably because of lacking of fund, their vms are low-performance QEMU-based machines.
I fired up Ubuntu vm and find:
1. `snapd` running constantly in the background and eating up a lot of memory. So the first thing I have to do is to stop snapd.
2. `unattended-upgrades` keep running. I guess is their internet not good so it seems it runs for a long time and keep eating bandwidth and cpu.
Things like these keep making me loosing faith on Ubuntu.
I remember the name Ubuntu borrowed its root from African language, but it seems their system are not so friendly to the users (including students, educators) from African countries.
Yes, forced updates are just insane. It forces an unknown schedule on the users for no reason. Implying the tiniest, most meaningless update is more important than anything the user might do with their computer.
I've been away from Linux for a while and was looking at Ubuntu the other day. Huge download size, huge minimum resources, background processes phoning home constantly. IMHO this is what Linux is there to fight.
The system should be reasonably knowable and controllable by the user, especially a technical one like myself. If I want a byzantine labyrinth of processes phoning home and eating up all my system resources I'll use macOS or Windows.
Unattended upgrades holds a lock that apt uses while downloading. Shouldn't, does.
So a really common experience is turn on a machine, apt install foo, blocked by the updates, anger. Helps a little that apt now tells me what is holding the lock, but it's always unattended upgrades. Which somehow has come back to life after attempts to disable it.
A couple weeks ago I was working away in the terminal when all of a sudden, my USB camera turned on and its light started flashing at me indicating something had just started interacting with my webcam. I immediately assumed "Oh, that's probably just some hackers watching me through my web-cam.", so I looked through /var/log a bit and noticed that it had just re-detected all USB devices and two new users had just been added to my system:
Does anyone know what these new users are for, and why they were added just now instead of at install time? I googled a bit, but couldn't find any recent news about it.
It's a mystery to me how Firefox updates on Ubuntu. Sometimes it goes through auto updates, but sometimes I'll try to open a new tab and it tells me that it will NOT allow me to do that until I restart. This is exceptionally annoying and not something that happens on Windows.
My reading is that if your package manager updates FF on disk while it's running, it can no longer guarantee that new tabs can be created safely, since creating a tab requires spawning a child process and the parent was created with an executable that no longer exists/knows anything about the executable it needs to use when spawning.
It is super annoying and I feel like there are some obvious fixes. I'm also not 100% sure why it only happens on Linux (it updates fine on Windows and MacOS while running right?)
On Windows, Firefox can't be updated while it's running because the files that comprise it are locked by the running application.
On Linux, you can delete or replace open files, and even running applications. Instead of updates being handled by dozens of individual updaters that coordinate closely with each app so that updates happen between restarts, updates happen in the background without really coordinating with running apps.
Sometimes, after Firefox has been updated, there's some kind of incompatibility between the old running binary and the new assets (internal JS, CSS, and idk what else). In that case, Firefox can't open new tabs because you're still running the old binary, which doesn't work with the new assets which have been installed, or which is looking for old assets that it opens dynamically at runtime that are simply no longer present on your disk.
> On Windows, Firefox can't be updated while it's running because the files that comprise it are locked by the running application.
I don't know how the "behind the scenes" work but you can run an update while Firefox is running. We do it all the time. We push security updates to our clients via an agent. It runs the official installer in silent mode.
It is like OP described: You can't open new tabs (ok you can but they will not work) until you restart the browser, but the existing tabs keep working.
IME Firefox does this when the OS updates packages that Firefox depends on and/or changes FF version. I can't speak to Ubuntu specifically but I've seen the same behavior on Arch and Fedora and it's always around OS updates that I've triggered manually.
Ubuntu (at least pre-snap) has Firefox in unattended-upgrades so apt can update Firefox in the background even if the user never runs updates themselves.
Shortly after the push to manage everything through snap, I set up ubuntu server and installed docker, to support a client facing demo involving a few containers. A few hours before the demo snap updated docker to a version that was totally broken and there was much embarrassment. That day I gave up on Ubuntu completely and never looked back.
On a friend's machine, Ubuntu had somehow managed to install both the APT docker and the Snap docker. This caused the entire disk to fill with log messages from the snap docker trying and failing to start, since another docker was already running.
Removing snapd is the first thing I do on any Ubuntu machine now, whether mine or my friends'. This now requires adding a PPA for Firefox since 22.04 but otherwise I have never had to deal with snap again.
I struggled mightily with Firefox's tendency (on Ubuntu) to suddenly and (at least until recently without any notice) tell me "Firefox must restart right now, and will make a feeble/futile attempt to restore your pages". Terrible, terrible UX.
Finally, I just uninstalled the snap version and downloaded/installed the .deb manually. So far so good -- I guess some day I might get hit with a security problem or some must-have feature, but at least I don't randomly have to restart Firefox every few weeks without prior notification.
I think you can point a direct line to that behavior and me installing PopOS. A web browser is my most used application and Ubuntu thinks they have the right to effectively crash it unexpectedly.
Firefox has a built-in upgrade mechanism that doesn't rely on a package manager. I don't know if the .deb has it active, but it's worth checking, so if it is active you wouldn't have to worry about it.
Thanks, but personally I don't want a workaround. I want a distribution that does the right thing. I have used Ubuntu for decades and use it everywhere. I hate to have to change, but as always, good things don't last.
Snaps also create extreme litter in filesystem, some programs like Firefox are broken in confusing way by updates (new tabs are crashing without explanation, part of old tabs crashes), some programs like Telegram were completely broken at some pint in highly confusing ways...
Also, as mentioned by others - Snap is a proprietary, walled-garden system owned by Canonical.
What made me drop snaps is it wouldn’t let me access files outside of $HOME no matter what I tried, and the snap decided I was running Gnome instead of KDE no matter what I tried, going back to the .deb worked perfectly.
I thought the same thing the first time I saw it. The only solutions are to either close Firefox and wait for several hours for something to silently happen in the background, or Google for the CLI command to run to update it. Really bizarre UX, I would love to hear someone from Canonical explain why they thought that was a good idea. Is there something I'm missing?
The idea in that conversation was, at least what I took away from it, that the user gets the notification and now knows at the end of the day they should close the app and in the morning it’ll be updated!
Seems fine on paper. But the messaging in the notification doesn’t tell me that at all. And it turns out despite all the nagging I always forget to close things before I step away.
I hate the execution of this feature. So much. All the nagging. All the confusing messaging.
On top of it all, I don’t feel like snap gives me any qol improvements in exchange.
I started to download Firefox from Mozilla. But just because I have not decided yet what distro to use for family computers. Archlinux is fine for me, but not suitable for everyone.
I ran “sudo apt install firefox” and it installed a freaking snap!
Today I learned that Ubuntu just decides to install snaps instead of the apt package.
What the hell.
> The Snap Store, also known as the Ubuntu Store, is a commercial centralized software store operated by Canonical.
and
> This is a store we can’t audit, which contains software nobody can patch. If we can’t fix or modify software, open-source or not, it provides the same limitations as proprietary software.
https://linuxmint-user-guide.readthedocs.io/en/latest/snap.h...https://linuxmint.com/
Hats off to the fine people behind Linux Mint.
I guess I could say the same for GNOME, but that's what my users are familiar with. The Ubuntu and GNOME setup works well - for now.
https://linuxmint.com/rel_elsie.php
Deleted Comment
https://www.omgubuntu.co.uk/2022/04/how-to-install-firefox-d...
I don't know why they did that, and I am a bit worried I will have to abandon Ubuntu if they move more packages to snaps in the next release. But for now all you need to do is the workaround above for Firefox.
Then install flatpak. It has chromium and Firefox.
E.g. https://www.debugpoint.com/remove-snap-ubuntu/?amp=1
Like... wtf ? They'd had to patch apt to even do that...
see https://bugs.launchpad.net/ubuntu/+source/ubuntu-advantage-t...
You install a package called firefox that on install installs the snap and on uninstall removes it.
Recently found I was asked to teach a workshop to help student use Kenya's KENET vlab, it is a vm platform from Kenya's education network, to run our program.
Their system have some prebuild image for us to use including Ubuntu. Probably because of lacking of fund, their vms are low-performance QEMU-based machines.
I fired up Ubuntu vm and find:
1. `snapd` running constantly in the background and eating up a lot of memory. So the first thing I have to do is to stop snapd.
2. `unattended-upgrades` keep running. I guess is their internet not good so it seems it runs for a long time and keep eating bandwidth and cpu.
Things like these keep making me loosing faith on Ubuntu.
I remember the name Ubuntu borrowed its root from African language, but it seems their system are not so friendly to the users (including students, educators) from African countries.
You have no control and can't get a stable system.
And since things change automatically you have no clue what made stuff broken.
I can vision the condescending and smug guy on Canonical forcing auto updates (remote code execution) by default as some "security" measure.
The system should be reasonably knowable and controllable by the user, especially a technical one like myself. If I want a byzantine labyrinth of processes phoning home and eating up all my system resources I'll use macOS or Windows.
So a really common experience is turn on a machine, apt install foo, blocked by the updates, anger. Helps a little that apt now tells me what is holding the lock, but it's always unattended upgrades. Which somehow has come back to life after attempts to disable it.
A couple weeks ago I was working away in the terminal when all of a sudden, my USB camera turned on and its light started flashing at me indicating something had just started interacting with my webcam. I immediately assumed "Oh, that's probably just some hackers watching me through my web-cam.", so I looked through /var/log a bit and noticed that it had just re-detected all USB devices and two new users had just been added to my system:
Does anyone know what these new users are for, and why they were added just now instead of at install time? I googled a bit, but couldn't find any recent news about it.The client is foss. The store is proprietary. The store isn't required to install or/and distribute snaps.
On the other hand this username is mentioned in a snap dev forum: https://forum.snapcraft.io/t/system-usernames/13386 - but there it says it should be using the 524288-589823 uid range...
What is this related to?
My reading is that if your package manager updates FF on disk while it's running, it can no longer guarantee that new tabs can be created safely, since creating a tab requires spawning a child process and the parent was created with an executable that no longer exists/knows anything about the executable it needs to use when spawning.
It is super annoying and I feel like there are some obvious fixes. I'm also not 100% sure why it only happens on Linux (it updates fine on Windows and MacOS while running right?)
(At least, as far as I can tell)
Package is multiple files app needs replaced, so you have old app getting the files replaced under it during upgrade, that's why restart is needed.
In case of snap there is layer between, the "snap" is just a blob that is mounted by a daemon that then runs app off it.
If you just move/delete old snap the daemon should just be accessing old one till the app stops
Deleted Comment
On Linux, you can delete or replace open files, and even running applications. Instead of updates being handled by dozens of individual updaters that coordinate closely with each app so that updates happen between restarts, updates happen in the background without really coordinating with running apps.
Sometimes, after Firefox has been updated, there's some kind of incompatibility between the old running binary and the new assets (internal JS, CSS, and idk what else). In that case, Firefox can't open new tabs because you're still running the old binary, which doesn't work with the new assets which have been installed, or which is looking for old assets that it opens dynamically at runtime that are simply no longer present on your disk.
I don't know how the "behind the scenes" work but you can run an update while Firefox is running. We do it all the time. We push security updates to our clients via an agent. It runs the official installer in silent mode. It is like OP described: You can't open new tabs (ok you can but they will not work) until you restart the browser, but the existing tabs keep working.
Dead Comment
Removing snapd is the first thing I do on any Ubuntu machine now, whether mine or my friends'. This now requires adding a PPA for Firefox since 22.04 but otherwise I have never had to deal with snap again.
Finally, I just uninstalled the snap version and downloaded/installed the .deb manually. So far so good -- I guess some day I might get hit with a security problem or some must-have feature, but at least I don't randomly have to restart Firefox every few weeks without prior notification.
https://launchpad.net/~mozillateam/+archive/ubuntu/ppa
Also, as mentioned by others - Snap is a proprietary, walled-garden system owned by Canonical.