this post was submitted on 05 Jul 2024
742 points (93.9% liked)

linuxmemes

20880 readers
5 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 49 points 4 months ago (5 children)

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
[–] [email protected] 43 points 4 months ago (1 children)

You could make aliases for each program, but I agree, there should be a way to set it up so they resolve automatically.

[–] [email protected] 4 points 4 months ago (1 children)

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.

[–] [email protected] 9 points 4 months ago

Agreed, but I also feel like such a thing should be included with Flatpak by default instead of leaving it to the users to solve.

[–] [email protected] 22 points 4 months ago

You can symlink /var/lib/flatpak/exports/bin/org.gnome.Lollypop (if you are using a system installation) or ~/.local/share/flatpak/exports/bin/org.gnome.Lollypop (if you are using a uset installation) to ~/.local/bin/lollypop and run it as lollypop.

[–] [email protected] 19 points 4 months ago* (last edited 4 months ago) (1 children)

Well, Flatpak installs aliases, so as long as your distribution - or yourself - add the <installation>/exports/bin path to $PATH, 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.

[–] [email protected] 4 points 4 months ago (1 children)

Is there some way to set an install hook that automatically makes those symlinks when you install a flatpak?

[–] [email protected] 4 points 4 months ago* (last edited 4 months ago)

Well, Flatpak always builds the aliases, so as long as the <installation>/exports/bin folder is in $PATH 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.

[–] [email protected] 3 points 4 months ago

put flatpak in your PATH and you can youse the app name like normal

[–] [email protected] 0 points 4 months ago (1 children)

I just run them raw, like just

org.gnome.Lollypop

Not ideal, but it's what I do

[–] [email protected] 12 points 4 months ago (1 children)
[–] [email protected] 3 points 4 months ago (1 children)
[–] [email protected] 2 points 4 months ago* (last edited 4 months ago)

Nice fucking model! #FreeCivvie11