[mantic] xdg-desktop-portals no longer working in default Lubuntu after xdg-desktop-portal 1.17.1
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lubuntu-default-settings (Ubuntu) |
Fix Released
|
Critical
|
Simon Quigley | ||
lxqt-session (Ubuntu) |
Fix Released
|
Critical
|
Simon Quigley | ||
plasma-discover (Ubuntu) |
Fix Released
|
Medium
|
Simon Quigley | ||
xdg-desktop-portal-lxqt (Ubuntu) |
Fix Released
|
Medium
|
Simon Quigley |
Bug Description
The XDG Desktop Portals are no longer working in Lubuntu after xdg-desktop-portal was updated to 1.17.2-1ubuntu1
Similar issues were fixed in Ubuntu Desktop by updating gnome-session and in Kubuntu by updating xdg-desktop-
Test Case
---------
Open Firefox (a Snap app)
Press Ctrl+O to open a file or Ctrl+S to save a webpage
The file chooser should show
Other Info
----------
- Lubuntu ships xdg-desktop-
- Lubuntu also ships xdg-desktop-
- When I installed the older xdg-desktop-portal on Lubuntu and rebooted, I got the file chooser back but I believe it is actually being provided by xdg-desktop-
Further Reading
---------------
https:/
https:/
Attempts to Fix
---------------
I have been unable to find a way to get xdg-desktop-
Things that didn't work:
- Uninstall xdg-desktop-
- Add a /usr/share/
[preferred]
default=kde
- Remove the UseIn=KDE line from /usr/share/
-- Or substitute UseIn=LXQt
- Manually start the KDE portal.
systemctl --user start plasma-
With xdg-desktop-portal 1.16, it started automatically. And xdg-desktop-portal needs to use D-Bus to start this service automatically.
- xdg-desktop-
Suggested Initial Workaround
-------
Have Lubuntu install xdg-desktop-
xdg-desktop-portal 1.17.2-1ubuntu1 has a hard-code workaround to use the GTK portal if no other portal is preferred.
The Firefox file chooser isn't the usual LXQt file chooser but at least it works. Also, it's the same file chooser GTK3 apps use.
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in lubuntu-default-settings (Ubuntu): | |
status: | Fix Released → Fix Committed |
Changed in plasma-discover (Ubuntu): | |
assignee: | nobody → Simon Quigley (tsimonq2) |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in lxqt-session (Ubuntu): | |
status: | New → In Progress |
status: | In Progress → Fix Released |
importance: | Undecided → Critical |
assignee: | nobody → Simon Quigley (tsimonq2) |
Changed in xdg-desktop-portal-lxqt (Ubuntu): | |
assignee: | nobody → Simon Quigley (tsimonq2) |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in lubuntu-default-settings (Ubuntu): | |
status: | Fix Committed → Fix Released |
> - Add a /usr/share/ xdg-desktop- portals/ lxqt-portals. conf copied from xdg-desktop- portal- kde with this contents:
> [preferred]
> default=kde
If the KDE portal is the one you want, then this looks one character off from being correct: it should be /usr/share/ xdg-desktop- portal/ lxqt-portals. conf (no "s" on xdg-desktop- portal) .
Some things to check:
Run xdg-desktop-portal as "/usr/libexec/ xdg-desktop- portal --verbose --replace" and it will show you more of what it's thinking. If it works when run from a shell but not when run from D-Bus activation, try editing its D-Bus and systemd service files to add --verbose, then read the systemd Journal.
Check that XDG_CURRENT_ DESKTOP, DISPLAY, and XAUTHORITY if used are set, and are in the D-Bus and systemd activation environments. GNOME (and I think maybe also Plasma) explicitly uploads XDG_CURRENT_DESKTOP into the activation environments, but LXQt probably relies on the display manager to pick it up from DesktopNames. You might need https:/ /salsa. debian. org/utopia- team/dbus/ -/commit/ 711681dbde53e47 5f2ce8e01b10db0 742a233fbf or dbus-x11, to make Xsession.d upload XDG_CURRENT_ DESKTOP.
To check: systemctl --user show-environment, and perl -pe 's/\0/\n/g' /proc/$(pgrep -f xdg-desktop-portal | head -n1)/environ
> Lubuntu ships xdg-desktop- portal- lxqt but this is not packaged in Debian
There's an ITP, https:/ /bugs.debian. org/cgi- bin/bugreport. cgi?bug= 1051790. If you want to use the KDE and LXQt portals (in some order), use default=kde;lxqt; or the other way round, or look at gnome-portals.conf for a less trivial example.
Please upstream any portal configuration that is added to Lubuntu. Debian bug: https:/ /bugs.debian. org/cgi- bin/bugreport. cgi?bug= 1050804, not yet opened upstream (I couldn't work out which component in LXQt should be responsible for infrastructure like this).
https:/ /gitlab. xfce.org/ xfce/xfce4- session/ -/issues/ 181 was the equivalent in XFCE and might be a good starting point for an upstream LXQt request.
[edited: perl -pe 's/\0/\n/' should have been perl -pe 's/\0/\n/g']