[systemd-devel] RFC: user session lifetimes vs. $DISPLAY

Lennart Poettering mztabzr at 0pointer.de
Tue Mar 5 11:48:55 PST 2013

On Mon, 18.02.13 11:08, Kok, Auke-jan H (auke-jan.h.kok at intel.com) wrote:

> I believe that the DBus bits are properly in place to have one single
> user bus per user session.

Nope, we never finished that. However, you currently can invoke
"dbus-daemon --session" in a per-user rather than per-session context
and things should just work, and that's what most folks do, but in the
long run, we really should fix this.

> For each login, you'd have an instance service (e.g.
> gnome-session@:0.service) to serve that display.

Well, I am not convinced it is necessary to instantiate
everything. People can do that if they really really want to make things
work to allow one local user to run multiple sessions, but I am pretty
sure that should be out of scope for GNOME. GNOME components should just
be normal services that are started on the user bus and which find their
display from XDG_RUNTIME_DIR.

> GUI processes running under a gnome-session@:0.service should be able
> to getenv(DISPLAY) if it's set by gnome-session at .service
> (Environment=DISPLAY=%I).

Yes and no. For the instantiation case you are right, but as mentioned I
don't think GNOME and suchlike really should bother with that. I'd hence
expect that GNOME apps would run without $DISPLAY set, but libX11 would
be capable of using $XDG_RUNTIME_DIR/display in that case.


Lennart Poettering - Red Hat, Inc.

More information about the systemd-devel mailing list