GNOME Shell app launch preference

I have 2 versions of GNOME Boxes installed

  • Debian unstable native package.
  • flatpak from flathub.

I would like to start native GNOME Boxes when clicking on the Boxes icon in Dash, but GNOME Shell always launches the flatpak version.

Any way to change this ?

Try copying the native version’s desktop file from /usr/share/applications to ~/.local/share/applications. I would hope it will take precedence there.

If that works, you might try changing it to a symlink rather than a copy and see if that still works, so that future changes will apply.

Doesn’t seem to work. GNOME Shell asks the 'dbus-daemon' to activate 'org.gnome.Boxes' and it activates the flatpak version.

It kind of works - the file in ~/.local/share/applications will take precedence, but the Exec field isn’t used for D-Bus activatable apps (in which case it’s up to the D-Bus daemon to prefer one .service file over the other).

You can change DBusActivatable=false to launch the app via the Exec field.

1 Like

That works. Thanks!

Though it would be great if we can have proper app launcher mgmt in the UI somewhere, now that multiple versions of the same app can be installed from multiple sources (native / flatpak / snap etc).

Could you provide more information about advantages of being able to choose the version to run?

When I install an application from an external repository, the usual reason is that I found the distribution’s version insufficient for my purposes. I expect to be able to run the newer version and do not need the older one. In such case, the older version does not add any value, but is a distraction.

It is also easy to go to the distribution’s version, for example, while there is a bug in the newer version. But then I do not need the broken version and would just remove it.

I mostly use native apps (like GNOME Boxes), but would sometimes need the flatpak version for debugging / reproducing flatpak specific issues.

This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.