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 technically foss but the server thst hosts them are proprietary to Ubuntu, when flatpak is perfectly reasonable. It’s a bit of a pattern of things they do, finding solutions to things they weren’t really problems (cough netplan cough)
That’s fair and Microsoft fired their entire update testing team and then pushed multiple updates that bricked Windows installs. And that was just Windows 10.
I’m not defending canonical decisions, but definably when they started working on this there was no other alternative available for them to collaborate at the time
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.
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.
We know. I’ve just grown accustomed how Ubuntu is set up. Its defaults for many packages seem a little more configured “out of the box” compared to the same offerings like from Debian. I seem to recall installing LAMP stuff from both Debian and CentOS having a similar base config (basically just using the defaults from php, apache, mysql, etc), while the Ubuntu versions had some things already pre-configured that made it easier to get a multi-domain site up and running quicker.
A fresh Ubuntu install, followed by a snapd purge and rolling back of its networking is usually easier for me than going with something like CentOS or Debian and manually configuring each and ever package with it.
Then again, I’ve been using Ansible for a while, so my setups for CentOS and Debian have been getting easier and easier, so it’s possible that I may eventually drop Ubuntu if they end up changing their OS so much that I can no longer purge their junk.
Linux Mint is based on Ubuntu but gets rid of a lot of the stuff that makes Ubuntu bad. Its UI is also extremely similar to that of Windows and is widely known to be the best beginner or the best “just works” distro.
You get a lot of recommendations for Mint here, but I’d like to toss in a recommendation for Pop!_OS. Also based on Ubuntu without all the crap. I would say the biggest difference between pop and mint is the UI, as Mint comes standard with cinnamon and pop with Gnome (soon cosmic) as their DE’s.
Just take a look at those two and choose one of them, they are both great distros, and absolutely the two I would recommend to just about anyone. Easy to use and very straightforward for new people trying out Linux.
Firefox is one of the worst snaps. It pops up an annoying notification everyday reminding you to restarted it. Then came the crashing. It got to a point where I couldn’t keep my browser running more than a few minutes at a time.
I wanted to like snaps, and I’m not overall negative on Ubuntu, but keeping the web browser functional is minimum requirement. The Firefox PPA is much more reliable.
Follow-up: The icing on the cake was a release or so ago when apt started queueing the snap package’s installation instead. Very clever, but also a confusing user experience. It took a few iterations before I understood the snap was getting installed instead of the deb.
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
Snaps are technically foss but the server thst hosts them are proprietary to Ubuntu, when flatpak is perfectly reasonable. It’s a bit of a pattern of things they do, finding solutions to things they weren’t really problems (cough netplan cough)
Also they put ads in search long before Windows did and as much as I hate Microsoft we should never forget that.
Putting ads in foss is an irredeemable sin
Bring out the guillotine!
Not to defend them, but it was trivial to remove the adverts and they stopped after the “feedback”. Unlike Windows.
That’s fair and Microsoft fired their entire update testing team and then pushed multiple updates that bricked Windows installs. And that was just Windows 10.
You know that snaps existed before Flatpaks right?
So it would have been that much easier for Ubuntu to be first to market and open source the snap server software…
But they didn’t. And alternative solutions had to be created.
I’m not defending canonical decisions, but definably when they started working on this there was no other alternative available for them to collaborate at the time
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.
Thanks, this is a very good reply, and it would have been wonderful, when the original reply would have been similar.
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.
Isn’t that the one where Linus broke the WM by installing Steam? Lol
Are we just going to pretend Debian doesn’t exist?
We know. I’ve just grown accustomed how Ubuntu is set up. Its defaults for many packages seem a little more configured “out of the box” compared to the same offerings like from Debian. I seem to recall installing LAMP stuff from both Debian and CentOS having a similar base config (basically just using the defaults from php, apache, mysql, etc), while the Ubuntu versions had some things already pre-configured that made it easier to get a multi-domain site up and running quicker.
A fresh Ubuntu install, followed by a snapd purge and rolling back of its networking is usually easier for me than going with something like CentOS or Debian and manually configuring each and ever package with it.
Then again, I’ve been using Ansible for a while, so my setups for CentOS and Debian have been getting easier and easier, so it’s possible that I may eventually drop Ubuntu if they end up changing their OS so much that I can no longer purge their junk.
Zorin is my fav.
deleted by creator
use Linux Mint instead
Thanks for the suggestion, but this doesn’t give me any info.
Linux Mint is based on Ubuntu but gets rid of a lot of the stuff that makes Ubuntu bad. Its UI is also extremely similar to that of Windows and is widely known to be the best beginner or the best “just works” distro.
You get a lot of recommendations for Mint here, but I’d like to toss in a recommendation for Pop!_OS. Also based on Ubuntu without all the crap. I would say the biggest difference between pop and mint is the UI, as Mint comes standard with cinnamon and pop with Gnome (soon cosmic) as their DE’s.
Just take a look at those two and choose one of them, they are both great distros, and absolutely the two I would recommend to just about anyone. Easy to use and very straightforward for new people trying out Linux.
I’ve been using Ubuntu for a long time for its out-of-the-box zfs support, but the snap annoyances are getting harder to ignore.
Firefox is one of the worst snaps. It pops up an annoying notification everyday reminding you to restarted it. Then came the crashing. It got to a point where I couldn’t keep my browser running more than a few minutes at a time.
I wanted to like snaps, and I’m not overall negative on Ubuntu, but keeping the web browser functional is minimum requirement. The Firefox PPA is much more reliable.
Follow-up: The icing on the cake was a release or so ago when apt started queueing the snap package’s installation instead. Very clever, but also a confusing user experience. It took a few iterations before I understood the snap was getting installed instead of the deb.
For the record…