GNU bug report logs -
#76619
[PATCH] gnu: home: services: Add 'wayland-display' service.
Previous Next
Full log
Message #37 received at 76619 <at> debbugs.gnu.org (full text, mbox):
Hi,
What is the status of this patch
https://issues.guix.gnu.org/issue/76619
?
On Tue, 11 Mar 2025 at 22:39, Hilton Chain <hako <at> ultrarare.space> wrote:
> I finally realized...! ‘x11-display’ has a fundamental issue: It actually
> relies on pre-existing graphical session!
>
> 1. Shepherd loads service definitons
> - 'service' dependending on ‘x11-display’ calls ‘(getenv "DISPLAY")’ in its
> definiton -> it depends on existing DISPLAY.
> - Shepherd actually fails at this stage if there's no pre-existing DISPLAY.
> 2. Shepherd starts ‘x11-display’
> - ‘x11-display’ finds socket and sets DISPLAY.
> 3. Shepherd starts 'service'
> - 'service' is already loaded in (1.), DISPLAY set in (2.) won't affect it.
>
> Bad news, but simplifies the whole thing a lot :)
>
> We can just remove socket finding part from ‘x11-display’ and use ‘getenv’
> instead. Then For a ‘graphical-session’ provision, Shepherd should be started
> by... a graphical session. Previously for ‘x11-display’ I think Shepherd was
> supposed to be started by a display manager, but I'm not sure if WAYLAND_DISPLAY
> changes when using a display manager.
>
> home-shepherd-service-type doesn't set default environment variables so
> Shepherd's starting environment is inherited. Then no need to worry about
> importing environment variables if we want to keep this behavior.
>
> So a graphical session setup is what I have mentioned before: Disable
> auto-starting of Shepherd, and start it in your desktop environment.
>
> I'm using this snippet btw:
>
> pgrep --uid $USER shepherd > /dev/null || shepherd
[...]
> Either services marked not to auto-start starting or those marked as auto-start
> not starting? :P I'm not sure which side to choose.
>
> For the specific case this is unnecessary now, as there's no need to wait to
> import environment variables.
Cheers,
simon
This bug report was last modified 28 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.