this post was submitted on 23 Jan 2024
108 points (95.8% liked)
Linux
48008 readers
1194 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
Flatpak can do CLI apps it's just mildly unwieldy because of the whole
flatpak run ...
.If you want reproducible dev environments, yeah you're pushed to container solutions be it distrobox, Podman or Docker. Or something like nix as a user.
If you install a Debian distrobox it'll be as reliable as Debian itself is. It's only an issue when you're after 100% reproducible systems, which Docker can help somewhat with, or again, nix. Or NixOS if you really want it all system-wide.
flatpak run org.gimp.Gimp image.png
vs.gimp image.png
or evenxdg-open image.png
. "Mildly unwieldy" I suppose but a massive pain in the ass in practice. I can't believe they thought that it was a good idea to require all that and provide no way to create a script in /usr/local/bin or even .local/bin.echo 'alias gimp="flatpak run org.gimp.Gimp"' >> ~/.bash_profile
Oh my God I never thought of that! /s
What a pain in the ass to require me to maintain a set of aliases for everything I install. Great user experience.
And the other 125 flatpaks I have?
All you need is to put
in .local/bin/gimp or /usr/local/bin and you can just call
gimp image.png
. A basic alias in your bashrc works, too.That's a pain in the ass. Why not automate it with the install? They already create .desktop files FFS.
It is actually. Add /var/lib/flatpak/exports/bin to PATH.
This is the answer! Next question is why doesn't the flatpack install do this for you?
It did for me, but I broke it somehow (I really need to reinstall my desktop). According to the Arch docs, the exports directory is added to /etc/profile
As for why it's not done upstream, this seems to be the thread where Flatpak's considerations were mentioned: https://github.com/flatpak/flatpak/issues/3573
I don't necessarily agree with them, but it should answer the "why" question.
They are only aliases too. People will be disappointed if they expect it to behave like the unsandboxed command.
Flatpak should not be adding directories to $PATH. That is for the distribution or user to do
Really? That's a thing? I don't mind a one-time PATH modification and was excited to see this but... I don't see that path on my system. Maybe it's optional and none of my applications are using it?
I also don't see any mention of that in the flatpak.org setup steps. And almost nobody replying here even knows about it. And all of the examples of running a flatpak from the CLI on flatpak.org and flathub.org use the
flatpak run org.gimp.Gimp
version.So it seems like it's a feature, but it's poorly documented, poorly advertised, and not used... :-(
Edit: So I did find that directory on another system of mine. No idea why it's there on one and not the other. Maybe a version thing. And gimp is symlinked as "org.gimp.Gimp". What a failure... 🤦
Flatpak should export mimetypes so xdg-open should work if there isn't another handler registered
You mean it already does. (“should” can be vague)
I believe so. (Depending on how your OS packages flatpak)