this post was submitted on 07 Aug 2024
19 points (100.0% liked)

Linux

2386 readers
1 users here now

Shit, just linux.

Use this community for anything related to linux for now, if it gets too huge maybe there will be some sort of meme/gaming/shitpost spinoff. Currently though… go nuts

founded 1 year ago
MODERATORS
 

Is it just me, or are most snap packages broken?

A lot of problems have to do with developers using some command to start or run a process, for example:

  • dropbox “Launch Dropbox Website” fails badly for Firefox as a snap
  • gimp as a snap, preferences-folders--Show file location in the file manager, doesn’t work

Another type of problem is the location for local files, e.g.:

  • a snap zoom upgrade uses the same location for recordings as the prior version, which doesn’t work because the old snap version directory is inaccessible

Another type of problem is the integration with Ubuntu (ostensibly the owner of the snap format), for example:

  • superkey (Windows logo) search for a snap and click or double-click on the icon just shows a wait cursor and finally times out (you have to right click and choose New Window)
  • update fails to update snaps - you need to manually sudo snap refresh, and even then the Software Updater thinks it need to update something until you reboot
  • snap-store has no search function - but if you start typing it will search (what kind of sadistic user experience designer thought that one up?)
  • snap-store Updates - Update All can fail and display a failure message from weeks ago
  • don’t even get me on about disk usage, like /var/lib/snapd/snaps or your ~/snap directory, that likely have more gigabytes than you’ve needed in a long time

Should I just give up on snaps and use Flatpack or Appimage?

top 6 comments
sorted by: hot top controversial new old
[–] [email protected] 11 points 3 months ago (1 children)

Should I just give up on snaps and use Flatpack or Appimage?

Use your system's native package manager and repository unless you have a really good reason not to. Really good reasons include:

  • Proprietary software that can experience library incompatibility and should be used inside a runtime
  • You're using something like Alpine Linux that uses musl libc and you want to install software that depends on glibc
  • The software isn't ported to your distribution (though the better solution would be to just write a package yourself)
[–] [email protected] 2 points 3 months ago (1 children)

Some additional reasons:

  • The native packages are broken or otherwise missing functionality
  • The app you're using is quite volatile and needs upstream updates faster than the native packages are pushed

Flatpak specific:

  • You want the app to be sandboxed
[–] [email protected] 1 points 3 months ago* (last edited 3 months ago)

Flatpak is a great choice for Steam in particular. The native install requires a full 32bit multilib stack from your distros package repo, flatpak steam boxes all of that up on its own.

I try to use flatpak for GUI apps where possible, those don't need unrestricted access to my user data in most cases.

[–] ScreaminOctopus 3 points 3 months ago (1 children)

Snaps suck, but I haven't found flatpaks to be much better. I've also found Ubuntu to be really unstable recently fwiw. It's really annoying how hard they're pushing snaps, to the point it's basically impossible to get away from them. I'd recommend Fedora or Endeavor instead. I've run Endeavor for years now without a hitch, but many of my machines are on NixOS now.

[–] [email protected] 2 points 3 months ago* (last edited 3 months ago)

Flatpak is slowly improving. I think the biggest problem with the flatpak ecosystem is lack of widespread understanding by new maintainers of how to package flatpak well - you see a lot of new packages by software authors who don't yet understand flatpak permissions and package quality suffers for it.

There are some annoyances, like some of the XDG portals being jank, but it's a solid step towards containerizing and jailing individual apps so they can't access more of your system than they need to do their job.

Flatpak steam, as an example, is fantastic. You install it, maybe drop in a proton version that works better for your game and you're ready to go. Same deal with many desktop applications, flatpak discord and others work extremely well and, at least compared to the Arch native versions, don't break as often.

Edit: Chiming in on Fedora and EndeavourOS, they're both excellent choices and not much more difficult to use than Ubuntu.

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago)

Ok, I'm going to play devil's advocate, even though I prefer Flatpaks over Snaps.

  • Snaps are compressed and remain compressed on your system so it's quicker to download and takes up less storage. (Yes the downside is a slower startup time because it has to decompress first. As opposed to Flatpaks that are downloaded compressed, but are stored uncompressed, and take up more storage.)
  • I'm using KDE Plasma (v5 on Kubuntu 24.04) and the Discover app updates all my Snap packages without a hitch. And I would assume it works flawlessly un the standard Ubuntu as well. I don't know about the other app store apps for other distros however.
  • Snaps, like Flatpak, has a tool to manage app permissions. Both launch apps in a sandboxed environment and require permissions to be set, kind of like with Android apps.
  • Speaking of sandboxing, this leads to problems in both Snaps and Flatpak where applications were not implemented to be run in a sandboxed environment to begin with and may block some features. (I just ran into such a problem with Firefox and its KeepassXC extension which cannot connect to my KeepassXC instance.)
  • Also about sandboxes, this actually increases security. For example, the printing system CUPS has known vulnerabilities. Running it in a Snap can stop some of the attack vectors.
  • One of the downsides is that the app stores like Flathub or Snapcraft don't really check who uploads what. So you may be looking for a Firefox browser for example, and there will be several from different providers. You have to make sure you check from the original website instead of your app store app to see if you are downloading from the official provider or risk downloading a modified version from bad actors.

Since these are slowly being adopted by developers, they haven't ironed out all the kinks yet. So it's important as a user to report problems so they can fix them. Or, to participate yourself and provide fixes if you can. That's what makes open source software thrive.