Fan of Flatpaks ...or Not?
-
I was just wondering the connection between flatpaks and the terminal because I’ve never heard of flatpaks before and Wikipedia says they’re a sandboxed package management system or something?
As someone who uses Flatpak you can still use the terminal to install, uninstall and do maintenance, not sure why people believe terminal is useless with Flatpak
Flatpaks are containers, same as Snaps, I personally prefer Flatpaks over Snaps, but just my personal choice. I use Flatsweep and Flatseal apps to help administrate Flatpak apps, but use terminal as well
-
Nope, I was counting all dependencies, both for flatpak and apk installations.
No you weren't. That would be ridiculous. The deb dependencies are most of your Linux install. Maybe counting just the new dependencies being installed alongside a typical deb install, but that's still not an apples to apples comparison to 100% of all the flatpak dependencies, even ones shared with other flatpaks, and even that's still very rarely over 1GB.
-
./configure
make
make installMissisng
&&
? -
I'm relatively new to Linux. I honestly don't see what the problem is.
It destroys the beautiful and carefully cultivated ecosystem of distributed packages that has been the bedrock of Linux for decades. They're bloated, often not quite as sandboxed as claimed, have created packaging chaos, and assume availability of system services that may not be there.
-
About the image: The joke's on you, I install my flatpaks via the terminal.
I've started using flatpaks more after starting using Bazzite and I liked them more than I expected. As a dev, I still need my work tools to be native, but most of my other needs are well covered by flatpaks.
Tip: Flatseal is a great config manager for flatpaks' permissions.
My guess was the point is that it's difficult to install CLI tools using Flatpak
-
In that case flatpak is basically a hack for OS's with broken or improper dependency manangement systems. Either those OS's should fix their broken systems, or ppl should move to OS's that do it properly, as that's one of the most important functions of your OS anyway.
Also pretty much everywhere you're using flatpaks (or snaps or...), you are doing it on top of a Linux system that's still getting its core system updates via traditional dependency management. And flatpaks, despite trying not to, make assumptions about your kernel, your glibc version, architecture, ability to access parts of your filesystem or your devices, that can break things, and doesn't bother to track it.
And the closer you get you tracking that stuff (like Snap tries to), you hilariously just get back to where you started, with traditional dependency management that already exists and has existed for decades.
-
I've never heard anyone say that Flatpaks could result in losing access to the terminal.
My only problem with Flatpaks are the lack of digital signature, neither from the repository nor the uploader. Other major package managers do use digital signatures, and Flatpaks should too.
wrote on last edited by [email protected]Nah, it's the same as with systemd, docker, immutable distros etc. Some people just don't appreciate the added complexity for features they don't need/use and prefer to opt out. Then the advocates come, take not using their favorite software as a personal insult and make up straw-men to ridicule and argue against. Then the less enlightened of those opting out will get defensive and let themselves get dragged into the argument. 90% that's the way these flame wars get started and not the other way around.
For the record, I use flatpak on all my desktops, it's great, and all of the other mentioned things in some capacity, but I get why someone might want to not use them. Let's not make software choice a tribalism thing please. Love thy neighbor as thyself, unless they use Windows, in which case, kill the bastard. /s
-
Flatpaks are great for situations where installing software is unnecessary complex or complicated.
I have Steam installed for some games, and since this is a 32 bits application it would install a metric shit-don of 32 bit dependencies I do not use for anything else except Steam, so I use the Flatpak version.
Or Kdenlive for video editing. Kdenlive is the only KDE software I use but when installing it, it feels like due to dependencies I also get pretty much all of the KDE desktop’s applications I do not need nor use nor want on my machine. So Flatpak it is.
And then there is software like OBS, which is known for being borderline unusable when not using the only officially supported way to use it on Linux outside of Ubuntu – which is Flatpak.
Flatpaks are great for situations where installing software is unnecessary complex or complicated.
That's my main use for flatpaks too. Add to that any and all closed source software, because you can't trust that without a sandbox around it.
Recently I've moved from using flatpak for electron apps and instead have a single flatpak ungoogled chromium instance I use for PWAs.
-
iit: nerds unable to comprehend that building a piece of software from source in not something every person can do.
EDIT: or doesn’t want to do
iit: nerds unable to comprehend that building a piece of software from source in not something every person can do
huh? Using package managers almost never involves compiling. It's there as a capability, but the point is to distribute pre-compiled packages and skip that step in the vast majority of cases.
-
one of my least favorite things about arch and other rolling distros is that yay/pacman will try and recompile shit like electron/chromium from source every few days unless you give it very specific instructions not to - which is annoying as shit bc compiling the entirety of chrome from source takes hours even with decent hardware.
granted, i fucking hate google products too but if you’re doing any web dev it’s necessary sometimes.
idk im definitely willing to admit i might be the idiot here. managing your packages with pacman might just be routine to some people. to me arch is the epitome of classic bad UX in an open source project. it’s like they got too focused on being cmatrix-style terminal nerds and forgot to make their software efficiently useable outside of 5 very specific people’s workflows. it’s not even the terminal usage that is bad about arch. plenty of things are focused on that and… don’t do it shittily? idk…
edit: yes to all the arch fanboy’s points in response to me. i used to be super into arch and am aware of the fact that this isn’t explicit behavior but to act like it doesn’t happen in a typical arch user experience is disingenuous. i also disagree with the take that arch doesn’t endorse this outright with its design philosophy, bc it does. the comparison of the AUR to other, similar things like PPAs doesn’t land for me bc PPAs aren’t integrated into the ecosystem nearly as much as AUR is with arch. you can’t tell people to just grab the binaries or not use AUR whenever it’s convenient to blame the user, when arch explicitly endorses a philosophy amicable to self-compilation and also heavily uses the AUR even in their own arch-wiki tutorials for fairly basic use cases. arch wants to have its cake and eat it too and be a great DIY build it yourself toolkit while also catering to daily driver use and more generalist users. don’t get me wrong, it’s the best attempt at such a thing i’ve seen - but at a certain point you have to ask if the premise makes sense anymore. in the case of arch, it doesn’t and it causes several facets of the ecosystem to flounder from a user perspective. the arch community’s habit of shouting “skill issue” at people when they point out legitimate issues with the design philosophy bugs the fuck out of me. this whole OS is a camel.
one of my least favorite things about arch and other rolling distros is that yay/pacman will try and recompile shit like electron/chromium from source every few days unless you give it very specific instructions not to
My understanding is that constantly triggering compiling like that shouldn't be happening in any typical arch + pacman situation. But it can happen in AUR. If it does, I think it's a special case where you should be squinting and figuring out what's going on and stopping the behavior; it's by no means philosophically endorsed as the usual case scenario for packages on arch.
There's certainly stuff about Arch that's Different(TM) but nothing about the package manager process is especially different from, say, apt-get or rpm in most cases.
-
This post did not contain any content.
I don’t really care about all these different things, as long as none of them become a crazy confusing mess, like Windows DLLs.
-
I'm not a huge fan of Flatpaks, they're a lot harder to distribute offline versus something like AppImage. Seriously, you have to like create an offline repository, then create a bundle, and it's like 6 or 7 steps, it's honestly kind of ridiculous lol but other than that they seem fine, and they're easy enough to update (but so are apt packages)
I know some people may say "oh why do you need that", but Linux has taught me that my computer is my own, and I should be able to use it the way I want to. I shouldn't have to fight with my package manager to get it to do what I want. So I guess you could say, no I'm not really a fan of Flatpaks.
Personally, I didn't mind Snaps, but I'm getting kind of really fed up with especially for-profit companies etc so I don't like Snap that much now either.
Apt packages are nice, but the more of them you have installed, especially if you're using Ubuntu-based distros and have lots of PPAs, the more annoying upgrading your distro version can be because of all the dependencies and cross-dependencies.
AppImage tends to just work for me, as long as it's not compiled with a newer libc-bin version than the distro I'm currently using has, and I really enjoy that it's just one file I can copy and run pretty much anywhere.
I seem to have constant issues with AppImages. Every single one I have currently won't open. I get an error message relating to either qT or GTK. Tried searching for the error and get a bunch of old forum threads talking about either not being compatible with Wayland at all, or comments stating that the one specific AppImage in question must have been "packaged badly". Thankfully, nothing 'mission critical' for me is an AppImage currently, but it is quite upsetting that I have the most problems with the supposed "just works" app packaging/distribution option.
-
Certainly a fan, and I don't understand the hate towards it.
Flatpaks are my preferred way of installing Linux apps, unless it is a system package, or something that genuinely requires extensive permissions like a VPN client, or something many other apps depend on like Wine.
The commonly cited issues with Flatpaks are:
- Performance. Honestly, do you even care if your Pomodoro timer app takes up 1 more megabyte of RAM? Do you actually notice?
- Bloat. Oh, yes, an app now takes 20 MB instead of 10 MB. Again, does anybody care?
- Slower and larger updates. Could be an issue for someone on a metered traffic, or with very little time to do updates. Flatpaks update in the background, though, and you typically won't notice the difference unless you need something newest now (in which case you'll have to wait an extra minute)
- Having to check permissions. This is a feature, not a bug. For common proponents of privacy and security, Linuxheads grew insanely comfortable granting literally every maintainer full access to their system. Flatpaks intentionally limit apps functionality to what is allowed, and if in some case defaults aren't good for your use case - just toggle a switch in Flatseal, c'mon, you don't need any expertise to change it.
What you gain for it? Everything.
- Full control over app's permissions. Your mail client doesn't need full system permissions, and neither do your messengers. Hell, even your backup client only needs to access what it backs up.
- All dependencies built in. You'll never have to face dependency hell, ever, no matter what. And you can be absolutely sure the app is fully featured and you won't have to look for missing nonessential dependencies.
- Fully distro-agnostic. If something works on my EndeavourOS, it will work on my OpenSUSE Slowroll, and on my Debian 12. And it will be exactly the same thing, same version, same features. It's beautiful.
- Stability. Flatpaks are sandboxed, so they don't affect your system and cannot harm it in any way. This is why immutable distros feature Flatpaks as the main application source. Using them with mutable distributions will also greatly enhance stability.
Alternatives?
AppImages don't need an installation, so they are nice to see what the program is about. But for other uses, they are garbage-tier. Somehow they manage both not to integrate with the system and not be sandboxed, you need manual intervention or additional tools to at least update them/add to application menu, and ultimately, they depend on one file somewhere. This is extremely unreliable and one should likely never use AppImages for anything but "use and delete".
Snaps...aside from all the controversy about Snap Store being proprietary and Ubuntu shoving snaps down people's throats, they were just never originally developed with desktop applications in mind. As a result, Snaps are commonly so much slower and bulkier that it actually starts getting very noticeable. Permissions are also way less detailed, meaning you can't set apps up with minimum permissions for your use case.
This all leaves us with one King:
And it is Flatpak.
Gimp is a gigabyte larger as a flatpak
-
Flatpaks are great for situations where installing software is unnecessary complex or complicated.
I have Steam installed for some games, and since this is a 32 bits application it would install a metric shit-don of 32 bit dependencies I do not use for anything else except Steam, so I use the Flatpak version.
Or Kdenlive for video editing. Kdenlive is the only KDE software I use but when installing it, it feels like due to dependencies I also get pretty much all of the KDE desktop’s applications I do not need nor use nor want on my machine. So Flatpak it is.
And then there is software like OBS, which is known for being borderline unusable when not using the only officially supported way to use it on Linux outside of Ubuntu – which is Flatpak.
And then there is software like OBS, which is known for being borderline unusable when not using the only officially supported way to use it on Linux outside of Ubuntu – which is Flatpak.
But why is that? I mean just because it is packaged by someone else does not mean its unusable. So its not the package formats issue, but your distribution packaging it wrong. Right? In installed the Flatpak version, because they developers recommended it to me. I'm not sure why the Archlinux package should be unusable (and I don't want to mess around with it, because I don't know what part is unusable).
-
This post did not contain any content.
i mostly use them for proprietary stuff or for software that is incredible painful to package (mostly electron apps). i will probably never use them for anything that actually matters but i also use rolling release distros everywhere so latest release is never too far. for testing latest version of any software i prefer appimages since they are simpler and don't need a messy setup as flatpak, but i also won't use them pass the testing phase and i prefer packaging the software if possible.
snaps, on the other hand, will never go near any of my systems. not even by accident
-
This post did not contain any content.
Personally I am okay with them actually. I use several on my system and having each app allowed to have different permissions is super useful.
But also I like things that are directly installed cause they seem just a tad faster performance wise.
-
Can someone explain why flatpak isn't necessary for distros that have proper OS dependency management like Arch-based distros or Nix?
Seems like flatpak is solving a problem for OS's that don't have proper dependency management.
main selling points are isolation and having the latest version directly from developers without having to wait for your distro to package/update it.
both are debatable since they are not as good as promoted (isolation doesn't always work correctly and it's a mess to configure it once you use anything different than the more mainstream distros) or goes against the historical preference (using bundled everything instead of cooperating with your distro packages and trusting every individual over trusting your distro as a whole) but having the latest version on any distro without having to wait is a popular need so they gained traction quite fast. this might make little sense for rolling release distros (arch, nix) but it's helpful if you have a stable base (years old debian) but need the latest feature on an specific application or have to use very specific libraries that are not packaged on the main distro and would require complex upgrades
-
This post did not contain any content.
What’s a flatpak? Is that like a worse NixOS package? I prefer NixOS, BTW.
-
This post did not contain any content.wrote on last edited by [email protected]
There was a few years where I pretty much only used Flatpaks because I was scared of the terminal. But now that I've learned how to use the terminal, it's so much more convenient because I can quickly update all my applications all in one place without having to open a separate app. Plus, some Flatpaks can fall really behind on software updates.
There might be a Linux userbase someday where no one other than developers actually knows how to use the terminal, because users can run everything they want without a command line, but maybe that's actually a good thing because it'll drive up how many people use a Linux distro.
With Windows and Mac, there's a shareholder incentive to enshittify. With Linux, if a distro goes bad and gets commercialized, there's always another distro people can move to, not to mention there's no financial incentive. The more people get on Linux, the less power these tech companies have. Personally, that and privacy are what drew me to Linux much more so than being able to tinker or fine-tune my experience.
-
My favorite part of the linux experience is the FREEDOM, but also being talked down to for not using my freedom correctly, I should only do things a specific way or I might as well just use windows.
It’s extremely context-dependent.
If we’re talking about enterprise-grade, five-nines reliability: I want the absolute simplest, bare-bones, stripped down, optimized infra I can get my hands on.
If we’re talking about my homelab or whatever else non-critical system: I’m gonna fuck around and play with whatever I feel like.