GNU bug report logs -
#65343
[PATCH] home: services: Add 'x11-display' service.
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Wed, 16 Aug 2023 17:45:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #17 received at 65343 <at> debbugs.gnu.org (full text, mbox):
Hello Brian & Oleg,
Brian Cully <bjc <at> spork.org> skribis:
> If, for instance, I start an X session on the console, allocating the
> first display (:0), everything will start up correctly. If I then log in
> from a remote host with SSH using X forwarding, I'll get another display
> allocated (:1), but this isn't accounted for. If I do these operations
> in reverse, first starting my X-forwarded SSH session, then logging in
> via console, it will almost certainly not do what just about anyone
> wants.
Yeah, and similarly with the scenario Oleg describes.
> This does presume the Shepherd can be started multiple times for a given
> user,
No no, but it assumes simple scenarios: when you first login locally, X
is not running yet, but you eventually start it and that’s the display
you want your services to use. Anything beyond that won’t work, as you
point out.
A simple improvement would be to stop the service when the relevant
/tmp/.X11-unix socket disappears.
As for which display to use when several are available (the SSH example
above), I don’t know. Apparently elogind doesn’t know which display
corresponds to a “seat”. Maybe we shouldn’t try to guess and instead
let users specify it, for instance with ‘herd start x11-display :42’?
Now, without this service the situation is even worse: shepherd and its
sub-processes inherit whatever ‘DISPLAY’ value was in its environment,
if any, and that’s it. This service is a hack, but might still do more
good than harm?
Ludo’.
This bug report was last modified 1 year and 200 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.