I am currently using Linux Mint (after a long stint of using MX Linux) after learning it handles Nvidia graphics cards flawlessly, which I am grateful for. Whatever grief I have given Ubuntu in the past, I take it back because when they make something work, it is solid.

Anyways, like most distros these days, Flatpaks show up alongside native packages in the package manager / app store. I used to have a bias towards getting the natively packed version, but these days, I am choosing Flatpaks, precisely because I know they will be the latest version.

This includes Blender, Cura, Prusaslicer, and just now QBittorrent. I know this is probably dumb, but I choose the version based on which has the nicer icon.

61 points

I don’t like flatpak or snap or any of them. System libraries exist for good reason, just because your computer is stupid fast and you have enough disk for the library of Congress a couple times over doesn’t mean you should run a veritable copy of your whole operating system for each program. IMO it’s lazy.

Sandboxing is a different thing though, if that’s the purpose then it’s doing it right.

permalink
report
reply
40 points
*

I have a ton of flatpaks which means packages are shared between them, so no it’s not lazy or a copy of the whole system. It makes a ton of sense for stability.

Updates are diff’s so downloading and updating is fast. Not entire packages.

Making every package work with only a certain version of a dependency and hoping it is stable doesn’t make a lot of sense.

permalink
report
parent
reply
17 points

You’ve just moved the packaging problem from distributions to app developers.

The reason you have issues is historically app developers weren’t interested in packaging their application so distributions would figure it out.

If app developers want to package deb, rpm, etc… packages it would also solve the problem.

permalink
report
parent
reply
33 points

Sure. Except you gain universal compatibility for all distros that have flatpak and aren’t building all the different package formats. Makes it much more attractive for actual developers to package since it’s only done once.

There’s no right answer here, but there are definite benefits.

I’ve had many little issues since I moved to Linux years ago, most of which would never have been an issue if flatpaks were there at the time. My experience has been better with them.

permalink
report
parent
reply
2 points

You know you can have many versions of a library on your system at once, right?

permalink
report
parent
reply
11 points
*

As long as they don’t cause conflicts. You know dependency hell is a thing right? The reason flatpaks were thought up in the first place? Right?

permalink
report
parent
reply
5 points

Besides that it’s only partially true (unless we speak Nix systems) That’s also not the point of it. It’s more about having runtime environment that an app was built against and tested with.

permalink
report
parent
reply
14 points

Yeah, that’s why Arch is almost the only distro that keeps everything installed natively. All other distros either have a troublesome workaround or only support flatpaks.

Rolling release just keeps everyone on the same pace. Yes, they break sometimes, but on the long run it just works.

permalink
report
parent
reply
7 points

As a long time Arch user, it’s not perfect, but it is perfect for me.

permalink
report
parent
reply
5 points

I see your point, and I agree. No need to spend resources just because we have them.

Sandboxing is definitely a benefit, but alas as I am learning I have no control of it’s permissions, so that can potentially go wrong.

permalink
report
parent
reply
4 points

You can manage Flatpak permissions with Flatseal.

permalink
report
parent
reply
3 points

Great! I knew it was possible. That is one less argument against it.

permalink
report
parent
reply
1 point

I like them for the opposite reason. I’m still quite new to Linux, so I’m figuring out which software is best for me. I set up my server with Xubuntu and installed everything through Apt. I uninstalled a lot of software, but inevitably missed some things like libraries and config files.

Using Flatpak seems to keep track of everything, so uninstalling gets rid of everything that I would otherwise miss.

If it’s doing what it says on the tin, Flatpak is making my life much easier :)

permalink
report
parent
reply
1 point

Trying to purge orphan dependencies is absolutely annoying. Talk about wasting space!

permalink
report
parent
reply
39 points

For a long time now, if a flatpack is available and maintained, I use it.

permalink
report
reply
13 points

Same. Better stability, frequent updates, no building from aur, and permission management with flat seal are great.

If you use mostly flatpaks they share packages which means they don’t take nearly as much space overall as single packages do.

Updates with only downloading diff’s is fast and works well.

permalink
report
parent
reply
9 points

I also like them just for the sake of tidiness. Some apps like Steam tend to make a big mess of dependencies all over the place, so it’s nice to have that all contained in one place. It does take up more space but I have a reasonably big hard drive so it’s kind of negligible for me.

permalink
report
parent
reply
10 points

I briefly considered getting into Fedora Silverblue, and I still may for this very purpose.

permalink
report
parent
reply
4 points

I’m getting into OpenSUSE Aeon (MicroOS desktop) and it’s been really great with Flatpaks and Distrobox. You should consider that one too :)

permalink
report
parent
reply
3 points

Sounds dope. I love OpenSuse. I almost made it my main OS, but got kicked in the ass installing graphics drivers and the fixes were many and too annoying.

MicroOS. Never head of that. I am excited now.

permalink
report
parent
reply
3 points
*

If you switch everything you can to flatpaks and use distrobox for other apps before you switch you’re pretty close (better than toolbox and recommend layering it if you do switch to Silverblue).

Anything can be layered onto Silverblue if it can’t be installed another way. I’ve found it works well.

permalink
report
parent
reply
1 point

Whoa! Distrobox looks cool! Did this come out on Android first? Seems like something I used to have fun with.

Damn, there are so many cool software I have never even seen in passing. I mean, I guess anything is possible. Hah.

permalink
report
parent
reply
22 points

Quite the opposite, after fiddling with it for six months I fully uninstalled flatpak and deleted the directory to get away from the fact it kept downloading copies of nvidia drivers when I had moved to an AMD a year ago, and the drivers were locked from being manually removed even after I uninstalled all flatpak packages.

I’m an Arch user, trust me when I say I read the documentation.

After wasting hours on it I nuked it.

permalink
report
reply
6 points

Damn, alright. I am starting to get the hate for it. I think I am blinded by the sheer convenience of it. Also, I am probably sleeping on more up to date repositories that gets me what I want without using flatpaks.

Linux Mint has been babying me though. I love the comfort, and cinnamon is everything I need in a DE. I will need to see what I can do.

permalink
report
parent
reply
5 points

Mint is an excellent starting point, and there’s good reasons to use flatpaks. If it works for you use it until it doesn’t.

permalink
report
parent
reply
3 points

I have been using Linux exclusively for maybe 8 years now? I just never dived to deeply into power user territory. I can get around okay, and am comfortable with the terminal and all that, I was just never interested in spending too much time trying to customize everything.

For a period I was obsessed with alternative operating systems. I read that Haiku is basically ready for evey day use. I wonder how Redox is coming along…

Anyways, I hope flatpaks keep working.

permalink
report
parent
reply
19 points

I accept that I’m in the minority on these things, but I value simplicity really highly, and I mean “simple” as a very specific concept that’s different from “easy”. It can be harder to resolve library dependencies on a system where everything is installed using the native package manager and common file systems, but nothing is as “simple” as ELF binaries linking to .so files. Nested directories branching off of / is “simpler” than containers.

Do I have any practical reason for preferring things this way? Not really. There are some ancillary benefits that come from the fact that I’m old and I already know how to do more or less anything I need to do on a Unix system, and if you tell me I need to use flatseal or whatever, I’d rather just use users and groups and tools that have been fine for me for 25 years. But that’s not really why I like things this way. I have no issue with embracing change when it otherwise appeals to me --I happily try new languages and tools and technology stacks all the time. What it really is is that it appeals to the part of my brain that just wants to have a nice orderly universe that fits into a smaller set of conceptual boxes. I have a conceptual box for how my OS runs software, and filling that box with lots of other smaller little different boxes for flatpack and pyenv and whatever feels worse to me.

If they solved practical problems that I needed help solving, that would be fine. I have no problem adopting something new that improves my life and then complaining about all the ways I wish they’d done it better. But this just isn’t really a problem I have ever really needed much help with. I’ve used many Unix systems and Linux distributions as my full-time daily use systems since about 1998, and I’ve never really had to spend much effort on dependency resolution. I’ve never been hacked because I gave some software permissions it wouldn’t have had in a sandbox. I don’t think those problems aren’t real, and if solving them for other people is a positive, then go nuts. I’m just saying that for me, they’re not upsides I really want to pay anything for, and the complexity costs are higher than whatever that threshold is for me.

permalink
report
reply
6 points

Your knowledge of Unix systems is incredibly powerful, and I highly respect that. You are in control of your system, which is the ultimate goal of personal computing. It is even more powerful that your mental models are reflected in your system. That is super cool, I hope to get their some day.

I am also very happy you enjoy trying out new technologies, and don’t have the grumpy jadedness of just using what you always use.

For me I thoroughly enjoy learning new skills that unlocks the power of all my many computers, and put them to use. Computing should be fun and empowering, and too often people deprive themselves of fun.

permalink
report
parent
reply
3 points

I too have been using native packages for 25 years and I wouldn’t say it have been “fine”.

I’ve had to deal with outdated packages, where to have the latest version of a software you had to compile from source.

I had to deal with 3rd party repositories that broke my system.

I had to deal with conflicting versions of a library.

I had to deal with the migration from libc5 to glibc and God that was horrible.

So yes containers might be a little more complex in its implementation, but it means I can install apps from third parties without touching my system and I love that. My OS stays clean, and my apps don’t mess with it.

permalink
report
parent
reply
1 point

It’s not that I’ve never had any problems. It’s more that those are infrequent one-time problems, and if something happens once every two years that takes me 30 minutes to solve, I’m willing to do that if it makes the day-to-day use of my system smoother. Flatpak feels like I’m rubbing just a little bit of sandpaper across my face 20 times a day, and the promise is, “yeah, but look how you’ll never have to solve this minor one-time things again”, and that’s just not a trade I want to make.

permalink
report
parent
reply
2 points
*

I like flatpak because it keeps everything more orderly. My OS fits into one box, and my userland applications all get their own little box. I don’t have to worry about the choices I make for my OS dictating the options I have for applications. And I don’t have to worry about installing an application polluting my OS with libraries that only it will ever use.

The same is true with containers like Docker. Sure, I could install web apps directly on the server, or make a VM for every service I wanted to spool up, but with Docker Config(or the many other ways to wrangle docker) I have a predictable input/output. I never have to worry about the requirements of one service conflicting with another. And the data and logs generated by the service rest in an exact place that I can ensure is uniform for all services, even if the developers do wacky things.

Taken to the extreme you get NixOS, which I really like the concept of, but can’t bring myself around to learning, as I know it will take over my life.

permalink
report
parent
reply
7 points

/var/lib/flatpak/app/org.gnu.emacs/current/active/export/bin/org.gnu.emacs is not what I expect a Unix system to want me to type if I want to run Emacs. Nor is flatpak run org.gnu.emacs. These are tools built by someone whose mental model of running Unix software is “click the icon in the Gnome launcher”. That’s one aspect what I’m describing as not being “simple”. I don’t want my mental model of how to run Unix software to include “remember how you installed it and then also remember the arbitrary reverse-FQDN-ish string you need to use to tell flatpak to run it”. If I’m honest, that alone is sufficient to signal it wasn’t built for me. I could work around it for sure with shell aliases, but I could also just not use it, and that seems fine for me.

permalink
report
parent
reply
1 point

I agree that launching flatpaks outside of a GUI is stupidly verbose. I certainly would never use flatpak for cli tools, and I think that is a problem for it. I would love to see more tools bundled up that way, but flatpak is far from the solution. And Docker has the same or bigger problems.

permalink
report
parent
reply
1 point

This. Having to open a console to run a flatpak in bspwm is annoying as all hell. PWA’s are just as bad, I ended up writing a script I could run from dmenu:

#!/usr/bin/env bash

PWA_PATH=${HOME}/.local/share/applications

for app in $@
do
  DESKTOP=$(grep -i "Name=.*${app}" -lm 1 ${PWA_PATH}/*.desktop)
  if [ ! -z ${DESKTOP} ]
  then
    APPID=$(basename ${DESKTOP} | cut -d- -f2)
    /usr/bin/google-chrome --profile-directory=Default --app-id=${APPID} &
  fi
done

permalink
report
parent
reply
16 points

I use Flatpaks for everything I can. I like how Flatpak keeps apps in a container isolated from my system. Also, Flatpaks contains every lib in every version I need for my installed apps, which means It does not rely on my system libs, and I like It, cause my system libs is to make my system works only.

Flatpaks are just the future of packaging

permalink
report
reply
5 points

Great explanation and rationale for using Flatpaks! I hope others with questions see this.

I understand how people may be annoyed by the redundancy of every app packaging their own lib, but I swear those are measured in kilobytes, and people tend to be so obsessively minimalist it is a non-issue. Then again, minimalist are probably compiling their software.

permalink
report
parent
reply
1 point

I disagree. The other day I wanted to install some audio app that came in flatpak install format (I’ll check and add the name later). The app was less than 30MB in size, but the installation included 300MB of a previous version of org.freedesktop!

permalink
report
parent
reply
3 points

I think that is one time download of a library so the app can run. Also, any other app that needs it.

It seems to me that the biggest complaint people have with flatpaks are the space it takes.

I wonder if the blow up in GBs was an early buggy behavior?

permalink
report
parent
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 9.7K

    Monthly active users

  • 5.8K

    Posts

  • 162K

    Comments