this post was submitted on 09 Apr 2024
214 points (95.0% liked)
Linux
47950 readers
1806 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
This is extremely simple to fix with scripts that can be automatically created on install time. Here is a quick script I just wrote. It will search for first matching app and run it. Just save the script as flatrun, give it executable bit and put it into $PATH. Run it as like this:
flatrun freetube
Edit: Just updated the script to output the list of matching apps, if it matches more than one.
Yes and I did a similar script but "just create a script" is a really bad solution.
Apps should need to declare a shortname and flatpak should have a shortcut for those with a separated command like flatrun.
I personally don't think that creating a script is a bad solution. The entire Linux eco system is based around composable components (especially when we talk about terminal commands). Most of the Flatpak applications are available through GUI menus (.desktop files) and that's the focus of Flatpak. And I think it's a design decision not to expose every application as a separate program in the $PATH by default. This way there is less of a chance to collide with anything random on the system, if they have the same name.
Having said this, I still agree it would be beneficial for most users if there was a way to automatically create scripts in a special
bin
folder, that is available in the $PATH. The problem is, what application name should it have? What about different versions of the same program? The entire Flatpak concept was not designed for this, so creating a script for your personal use is not a bad solution.Repeating, apps should need to declare a shortname. I think my script currently has no mechanism for detecting duplicates
Please read my reply before you repeat. How should the different versions of an application be handled? What if the shortname is already taken? There will be collisions, which the longname tries to solve. Flatpak is not a repository where all names can be checked against, this is the job of a repository like Flathub. What about different versions of an application?
This is not a simple case of forcing to specify shortnames.
I think a good solution would to just have that script autogenerated by the flatpak, honestly.
That would mean the app has access to the path, which was explained as insecure in another place
That's super. Thanks for sharing.