#1050950 openbox-gnome-session: please make XDG_CURRENT_DESKTOP different from full GNOME, and use it to configure xdg-desktop-portal

#1050950#5
Date:
2023-08-31 17:42:43 UTC
From:
To:
xdg-desktop-portal 1.17.x introduces a new way to select which portals will
be used for which desktop environments, modelled on mimeapps.list:

- each desktop environment should provide a file like
  /usr/share/xdg-desktop-portal/gnome-portals.conf

- the filename is ${DESKTOP}-portals.conf where ${DESKTOP} is the desktop
  environment's entry in $XDG_CURRENT_DESKTOP (the same as the DesktopNames
  from /usr/share/{x,wayland-}sessions/*.desktop), folded to lower case

- sysadmins and users can override this via files named portals.conf or
  ${DESKTOP}-portals.conf in various locations like /etc/xdg-desktop-portal
  and ~/.config/xdg-desktop-portal

But as far as I can tell, openbox-gnome-session sets
XDG_CURRENT_DESKTOP=GNOME, so for the purposes of this mechanism, it's
not programmatically distinguishable from a full GNOME session with GNOME
Shell. This is problematic, because gnome-portals.conf in gnome-session
selects portal implementations that are only appropriate for the full
GNOME session.

To reproduce
============

* Start from a basic non-GUI virtual machine (I used autopkgtest-build-qemu)
* Ensure that a user account exists
* # apt install lightdm xorg openbox-gnome-session
* # reboot
* Log in as the user account, selecting "GNOME/Openbox" from the menu of
  possible X11 sessions
* In a parallel ssh login as the same user:
  $ systemctl --user show-environment

(Normally I would say to use a shell inside the X11 environment, but
openbox-gnome-session doesn't currently work because it declares required
components that don't exist - I opened a separate RC bug.)

Expected result
===============

XDG_CURRENT_DESKTOP should be set to a colon-separated sequence of
desktop environment names, most specific first. Because this seems to
be intended to behave like a variant of GNOME Flashback, which is itself
a variant of full GNOME, a good value might be:

XDG_CURRENT_DESKTOP=Openbox-GNOME:GNOME-Flashback:GNOME

This would allow the Openbox GNOME session variant to have its own
desktop-environment-specific mimeapps.list or portals.conf(5), for
example /usr/share/xdg-desktop-portal/openbox-gnome-portals.conf.

Actual result
=============

XDG_CURRENT_DESKTOP is set to "GNOME", the same as a full GNOME Shell
session.

This means that xdg-desktop-portal will use xdg-desktop-portal-gnome for
all interfaces, but some of the functionality of xdg-desktop-portal-gnome
can only work when running under GNOME Shell.

Suggested fix
=============

Fixing the RC bug I opened today (that openbox-gnome-session doesn't start)
will be a prerequisite for usefully fixing this. If it's resolved by
removing openbox-gnome-session, then obviously no further action is needed.

Assuming that openbox-gnome-session is kept, the solution for this bug
would be to add a sequence of semicolon-terminated desktop environment
names to /usr/share/xsessions/openbox-gnome.desktop, perhaps this:

DesktopNames=Openbox-GNOME;GNOME-Flashback;GNOME;

(Note that this is not the same separator as in $XDG_CURRENT_DESKTOP!
It's a semicolon here, as is standard for .desktop file syntax, but it's
a colon in the environment variable.)

And then create a /usr/share/xdg-desktop-portal/openbox-gnome-portals.conf
with whatever portal backends are desired for openbox-gnome-session;
or alternatively, rely on gnome-flashback to provide a
gnome-flashback-portals.conf that this session can fall back to (please
see #1050799 for more information).

Thanks,
    smcv

#1050950#10
Date:
2026-01-10 10:10:29 UTC
From:
To:
Es gibt eine Familienspende in Höhe von 1.850.000,00 USD von Cheng Charlie
Saephan. Bitte antworten Sie für weitere Informationen. Denken Sie daran,
Ihrer Familie und den Bedürftigen in Ihrer Umgebung Gutes zu tun.

Dies ist bereits der zweite Versuch, Sie zu erreichen. Bitte antworten Sie
für weitere Details.