Comment 21 for bug 2036098

Revision history for this message
Simon McVittie (smcv) wrote (last edit ):

> 1. Firefox is trying to call org.freedesktop.portal.FileChooser. The provided "method" in xdg (is that what you call it, a method?) is org.freedesktop.impl.portal.FileChooser. Dunno if the .impl missing in one of those means anything.

Those dotted names are interfaces, not methods.

The fact that there are two interfaces with/without .impl is an xdg-desktop-portal thing. The way it works is that the sandboxed application talks to the interface *without* .impl, which is provided by the desktop-agnostic xdg-desktop-portal service. x-d-p uses portals.conf(5) to choose an appropriate desktop-specific *backend*, like perhaps x-d-p-gtk or x-d-p-lxqt, which provides the version of the interface *with* .impl.

For some interfaces like FileChooser the version with/without .impl are very similar, but for other interfaces it isn't an obvious 1:1 mapping.

> 2. Running "/usr/libexec/xdg-desktop-portal --verbose --replace" in a terminal fixes the problem while that command is left running. The problem immediately resurfaces when the process is terminated.

That probably means that the variable $XDG_CURRENT_DESKTOP is set correctly in your terminal, but incorrectly in the activation environment. When you are in the bad state, what is $XDG_CURRENT_DESKTOP in your shell, and what is it in `systemctl show-environment`?