On 2025-11-11 15:35:42 +0100, Bill Allombert wrote:
> On Tue, Apr 08, 2025 at 07:37:52PM +0100, Simon McVittie wrote:
> > On Sun, 19 Jan 2025 at 00:14:17 +0100, Bill Allombert wrote:
> > > I run wine in text mode in a CI cronjob (so XDG_RUNTIME_DIR is not 
> > > defined).
> > > Since I upgraded wine, it reports a spurious error message:
> > > error: XDG_RUNTIME_DIR is invalid or not set in the environment.
> > > even though I set WINEDEBUG=-all

This reminds me the following when DISPLAY is set:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=914822

> > I believe this message comes from libwayland-client, and cannot easily be
> > suppressed by a caller.
> > (https://codesearch.debian.net/search?q=XDG_RUNTIME_DIR+is+invalid+or+not+set+in+the+environment&literal=1)
> 
> Thanks for this info!
> FWIW, I do not see why libwayland-client should expect
> XDG_RUNTIME_DIR to be set. This seems like a major layering
> violation. One should be able to use wayland without using a desktop
> environment.

Well, XDG_RUNTIME_DIR has nothing to do with desktop environments, not
even with graphical displays. It is set by pam_systemd at login time,
e.g. also via ssh without a graphical display. See the pam_systemd(8)
man page.

Note that wine uses /run/user/$UID (which is normally identical to
$XDG_RUNTIME_DIR) even when XDG_RUNTIME_DIR is unset, as I can see
changes under "/run/user/$UID/wine". Since $XDG_RUNTIME_DIR is
"automatically created the first time a user logs in and removed on
the user's final logout" (pam_systemd(8) man page), I'm wondering
whether wine is correct anyway: this directory may be removed while
wine is still running in the background.

-- 
Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)

Reply via email to