System Integration¶
D-Bus Activation Environment¶
XDG Desktop Portal and its portal backends are activatable D-Bus services.
This means that they inherit environment variables from the “activation
environment” maintained by either systemd --user
(on systems that use
systemd) or dbus-daemon
(on systems that do not). They do not inherit
environment variables from the GUI environment or from the shell, unless
some component of the overall system takes responsibility for taking the
necessary environment variables from the GUI environment and sending them
to systemd
or dbus-daemon
to be added to the activation environment.
In integrated desktop environments such as GNOME and KDE Plasma, and in OS distributions with a high level of integration, this should be done automatically by desktop environment or OS infrastructure.
Variables that might need to be propagated in this way include, but are not limited to:
DISPLAY
PATH
WAYLAND_DISPLAY
XAUTHORITY
XDG_CURRENT_DESKTOP
XDG_DATA_DIRS
In environments that are assembled out of individual components by the user, it is the user’s responsibility to ensure that this system integration has been done, for example by using dbus-update-activation-environment(1) or systemctl –user import-environment VAR….
Desktop Environment Requirements¶
The display manager or GUI environment is responsible for setting
XDG_CURRENT_DESKTOP
to an appropriate value.
The GUI environment should provide a
portal configuration file with a name based on its
XDG_CURRENT_DESKTOP
, to select appropriate portal backends.
The GUI environment should arrange for its required portal backend or backends to be installed as dependencies (possibly as optional dependencies, if it is packaged in a loosely-coupled operating system).
In environments that are assembled out of individual components by the user, it is the user’s responsibility to ensure that this system integration has been done.