this post was submitted on 11 Jul 2023
206 points (92.2% liked)
Linux
48083 readers
800 users here now
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
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
/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 isflatpak 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.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.
And in a way, everything is a CLI tool on most normal systems. Evince or Acroread or whatever you prefer to read PDFs is not "a CLI tool", but if I want to use LaTeX to create a document, I want to be able to do something like
I don't want to have to build my document, bring up my app launcher, click on the Evince icon, hit Ctrl-O, navigate to my pdf file, and double click it.
That is a great point. I use the shortcut 'code .' to launch VSCode when I'm on the terminal a lot. Can't do that with flatpak without an alias. I don't live on the terminal though, so it is rarely an issue for me. It is a problem flatpak should solve though. Seems like they are focused on GUI apps and GUI launching.
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: