Flatpak is nice but I really would like to see a way to run flatpakked application transparently e.g. don’t have to
flatpak run org.gnome.Lollypop
and can just run the app via
Lollypop
You could make aliases for each program, but I agree, there should be a way to set it up so they resolve automatically.
You could possibly also make a shell script that does this automatically. I believe most flatpak ids follow a pattern such as com.github.user.package, for github projects for example. So you could loop through all installed flatpaks, extract the name, and then add the alias.
Well, Flatpak installs aliases, so as long as your distribution - or yourself - add the <installation>/exports/bin
path to , then you’ll be able to use the application IDs to launch them.
And if you want to have the Flatpak available under a different name than its ID, you can always symlink the exported bin to whatever name you’d personally prefer.
I’ve got Blender set up that way myself, with the org.blender.Blender
bin symlinked to /usr/local/bin/blender
, so that some older applications that expect to be able to simply interop with it are able to.
Is there some way to set an install hook that automatically makes those symlinks when you install a flatpak?
Well, Flatpak always builds the aliases, so as long as the <installation>/exports/bin
folder is in there’s no need to symlink.
If you’re talking specifically about having symlinks with some arbitrary name that you prefer, then that’s something you’ll have to do yourself, the Flatpak applications only provide their canonical name after all.
You could probably do something like that with inotify and a simple script though, just point it at the exports/bin
folders for the installations that you care about, and set up your own mapping between canonical names and whatever names you prefer.
I just run them raw, like just
org.gnome.Lollypop
Not ideal, but it’s what I do