Wayland: Difference between revisions
WhyNotHugo (talk | contribs) (→XDG_RUNTIME_DIR: Remove mkrundir (too experimental still)) |
m (Simplify XDG_RUNTIME_DIR code) |
||
Line 19: | Line 19: | ||
On a system that's not using elogind nor any pam module that handles this, the <code>XDG_RUNTIME_DIR</code> can be initialised manually. The easiest approach is by adding a snippet like this one to shell init scripts (e.g.: {{Path|~/.profile}}): | On a system that's not using elogind nor any pam module that handles this, the <code>XDG_RUNTIME_DIR</code> can be initialised manually. The easiest approach is by adding a snippet like this one to shell init scripts (e.g.: {{Path|~/.profile}}): | ||
{{Cat|~/.profile|<nowiki>if | {{Cat|~/.profile|<nowiki>if [ -z "$XDG_RUNTIME_DIR" ]; then | ||
XDG_RUNTIME_DIR="/tmp/$(id -u)" | |||
mkdir -pm 0700 "$XDG_RUNTIME_DIR" | |||
export XDG_RUNTIME_DIR | |||
fi | fi | ||
</nowiki>}} | </nowiki>}} |
Revision as of 07:09, 14 November 2023
Wayland is a new display protocol that aims to replace X11.
Multiple compositor implementations exist, including Sway, Mutter (GNOME's compositor) and Kwin (KDE's compositor). A more exhaustive list is available in the ArchWiki.
XDG_RUNTIME_DIR
As per the protocol spec, Wayland compositors require the XDG_RUNTIME_DIR
variable to be set. There are a few ways to configure create a temporary runtime directory and export this variable:
- elogind can do this and also export other XDG environment variables automatically for each session.
- pam-rundir can handle this for logins. To use this PAM is required.
- Setting it up manually (see below).
Note that this variable MUST be initialised before the Wayland compositor, and also before the D-Bus session instance is started.
Configuring XDG_RUNTIME_DIR manually
Generally, care should be taken when configuring the XDG_*
variables manually as this configuration may have errors or conflict with other utilities that do this automatically.
On a system that's not using elogind nor any pam module that handles this, the XDG_RUNTIME_DIR
can be initialised manually. The easiest approach is by adding a snippet like this one to shell init scripts (e.g.: ~/.profile):
Contents of ~/.profile