For the uninitiated, as someone who’s looking to move from Windows to Linux and Ubuntu is probably my first choice, can you share what’s not to like about this?
Snaps are a way to build applications so that they can run on any platform with one build method. It makes it easier for developers to publish their apps across multiple different Linux distro without having to worry about dependency issues.
Snaps have been very poorly received by the community, one of the largest complaints is that a snap program with take 5-10 seconds to start, where as the same program without snap will start instantly.
Ubuntu devs have been working for years to optimize them, but it’s a complex problem and while they’ve made some improvements, it’s slow going. While this has been going on, Ubuntu is slowly doubling down more and more on snaps, such as replacing default apps with their snap counterparts.
On the other hand, other methods like flatpak exist, and are generally more liked by the community.
This has led to a lot of Ubuntu users feeling unheard as their feedback is ignored.
Also a great option. I like their tiling window manager and the other gnome extensions they’ve done. I’m also generally excited about the work they’re doing with Cosmic as a new DE.
When I click the Firefox icon, I expect Firefox to open. Like, right away.
When Ubuntu switched it to a snap, there was a noticeable load time. I’d click the icon and wait. In the background the OS was mounting a snap as a virtual volume or something, and loading the sandboxed app from that. It turned my modern computer with SSD into an old computer with a HDD. Firefox gets frequent updates, so the snap would be updated frequently, requiring a remount/reload every update.
Ubuntu tried this with many stock apps (like Calculator), but eventually rolled things back since so many people complained about the obvious performance issues.
I’m talking about literally waiting 10X the time for something to load as a snap than it did compared to a “regular” app.
The more apps you have as snaps, the more things have to be mounted/attached and slowly loaded. This also use to clutter up the output when listing mounted devices.
The Micropolis (GPL SimCity) snap loads with read-only permissions. i.e., you cannot save. There are no permission controls for write access (its snap permissions are only for audio).
Basically, the snap was configured wrong and you can never save your game.
I had purged snapd from my system and added repos to get “normal” versions of software, but eventually some other package change would happen and snapd would get included with routine updates.
I understand the benefits of something like Snaps and Flatpaks - but you cannot deny that there are negatives. I thought Linux was about choice. I’ve been administering a bunch of Ubuntu systems at work for well over a decade, and I don’t like what the platform has been becoming.
Also, instead of going with an established solution (flatpak), Ubuntu decided to create a whole new problem (snap) and basically contributes to a splitting of the community. Which do you support? Which gets more developer focus to fix and improve things?
You don’t have to take my word for any of this. A quick Google search will yield many similar complaints.
You can’t really control when the updates of snaps are rolled out.
For “regular” software, I have an “apt update” type of script that I can run when I choose to update everything on my system. On some systems, I have this in a weekly crontab. On other systems, there is no scheduled run. On those systems, it’s important to keep many apps as-is - so several packages are also locked, as well (“apt-mark hold”).
With snap, you basically have no control. It updates as many times as it wants, when it wants. You can try to adjust some timers to change the window when forced updates are rolled out, but can never tell it to NOT update something. Broken package updated? Well, you can manually roll back that one. Broken update pushed again during the next forced update window? Just roll it back again! (and repeat, every day)
Yes, I understand that, but I also know it’s really important to not update some stuff, and I know that broken snaps sometimes get pushed.
Basically, the snap developers have talked down to the users. THEY know better of what WE actually want and need, not us dumb users that actually administer things for a living.
You basically have no control. It updates as many times as it wants, when it wants. You can try to adjust some timers to change the window when forced updates are rolled out, but can never tell it to NOT update something.
This is incorrect:
snap refresh --hold=forever
In general, I’d advise you to do a bit of research beforehand when giving advice…
The --hold feature was introduced with snapd v2.58 which was released as recently as Dec 1, so less than 9 months ago. So I would consider this a relatively new feature.
Furthermore, as best as I can tell from the documentation, there isn’t even a way to configurably hold updates in general or for a specific package like can be done with apt-preferences; refresh.hold only allows 90 days out.
I think it is a perfectly valid criticism that the snap developers didn’t implement this feature at all until well into the life of the product and then, even then, done begrudgingly at best evidenced by the minimal implementation.
Now, I feel like I did my research, but feel free to let me know if there’s something I can do better or if you have any other general life advice for me.
You’re going to get a lot of comments about Ubuntu and snaps. Definitely one of the reasons I switched away from it.
For the uninitiated, as someone who’s looking to move from Windows to Linux and Ubuntu is probably my first choice, can you share what’s not to like about this?
Edit - insightful answers. Thank you
For context:
Snaps are a way to build applications so that they can run on any platform with one build method. It makes it easier for developers to publish their apps across multiple different Linux distro without having to worry about dependency issues.
Snaps have been very poorly received by the community, one of the largest complaints is that a snap program with take 5-10 seconds to start, where as the same program without snap will start instantly.
Ubuntu devs have been working for years to optimize them, but it’s a complex problem and while they’ve made some improvements, it’s slow going. While this has been going on, Ubuntu is slowly doubling down more and more on snaps, such as replacing default apps with their snap counterparts.
On the other hand, other methods like flatpak exist, and are generally more liked by the community.
This has led to a lot of Ubuntu users feeling unheard as their feedback is ignored.
One word: snapd
If you like the idea of ubuntu, but wish to avoid ubuntu, you might want to check out Linux Mint.
how about popos?
Also a great option. I like their tiling window manager and the other gnome extensions they’ve done. I’m also generally excited about the work they’re doing with Cosmic as a new DE.
Been chomping at the bit for cosmic since I learned of it.
Performance and functionality.
When I click the Firefox icon, I expect Firefox to open. Like, right away.
When Ubuntu switched it to a snap, there was a noticeable load time. I’d click the icon and wait. In the background the OS was mounting a snap as a virtual volume or something, and loading the sandboxed app from that. It turned my modern computer with SSD into an old computer with a HDD. Firefox gets frequent updates, so the snap would be updated frequently, requiring a remount/reload every update.
Ubuntu tried this with many stock apps (like Calculator), but eventually rolled things back since so many people complained about the obvious performance issues.
I’m talking about literally waiting 10X the time for something to load as a snap than it did compared to a “regular” app.
The more apps you have as snaps, the more things have to be mounted/attached and slowly loaded. This also use to clutter up the output when listing mounted devices.
The Micropolis (GPL SimCity) snap loads with read-only permissions. i.e., you cannot save. There are no permission controls for write access (its snap permissions are only for audio). Basically, the snap was configured wrong and you can never save your game.
I had purged snapd from my system and added repos to get “normal” versions of software, but eventually some other package change would happen and snapd would get included with routine updates.
I understand the benefits of something like Snaps and Flatpaks - but you cannot deny that there are negatives. I thought Linux was about choice. I’ve been administering a bunch of Ubuntu systems at work for well over a decade, and I don’t like what the platform has been becoming.
Also, instead of going with an established solution (flatpak), Ubuntu decided to create a whole new problem (snap) and basically contributes to a splitting of the community. Which do you support? Which gets more developer focus to fix and improve things?
You don’t have to take my word for any of this. A quick Google search will yield many similar complaints.
Thanks for the explanation. Now I understand the dislike for snap.
Oh! I forgot another one! Updates.
You can’t really control when the updates of snaps are rolled out.
For “regular” software, I have an “apt update” type of script that I can run when I choose to update everything on my system. On some systems, I have this in a weekly crontab. On other systems, there is no scheduled run. On those systems, it’s important to keep many apps as-is - so several packages are also locked, as well (“apt-mark hold”).
With snap, you basically have no control. It updates as many times as it wants, when it wants. You can try to adjust some timers to change the window when forced updates are rolled out, but can never tell it to NOT update something. Broken package updated? Well, you can manually roll back that one. Broken update pushed again during the next forced update window? Just roll it back again! (and repeat, every day)
These are the words direct from a snap developer on why you cannot lock an app: “You need to keep your software up to date.”
Yes, I understand that, but I also know it’s really important to not update some stuff, and I know that broken snaps sometimes get pushed.
Basically, the snap developers have talked down to the users. THEY know better of what WE actually want and need, not us dumb users that actually administer things for a living.
This is incorrect:
snap refresh --hold=forever
In general, I’d advise you to do a bit of research beforehand when giving advice…
Edit: Downvotes for factual information? Really?
The
--hold
feature was introduced with snapd v2.58 which was released as recently as Dec 1, so less than 9 months ago. So I would consider this a relatively new feature.Furthermore, as best as I can tell from the documentation, there isn’t even a way to configurably hold updates in general or for a specific package like can be done with apt-preferences;
refresh.hold
only allows 90 days out.I think it is a perfectly valid criticism that the snap developers didn’t implement this feature at all until well into the life of the product and then, even then, done begrudgingly at best evidenced by the minimal implementation.
Now, I feel like I did my research, but feel free to let me know if there’s something I can do better or if you have any other general life advice for me.