Subject: Re: [bug#65343] [PATCH] home: services: Add 'x11-display' service.

From: Oleg Pykhalov <[email-masked]>
Date: Wed, 16 Aug 2023 22:03:30 +0300

Hi Ludovic,

Ludovic Courtès <[email-masked]> writes:

> * gnu/home/services/desktop.scm (x11-shepherd-service): New procedure.
> (home-x11-service-type): New variable.
> (redshift-shepherd-service): Add 'requirement' field.
> (home-redshift-service-type): Extend 'home-x11-service-type'.
> * doc/guix.texi (Desktop Home Services): Document it.
> ---
>  doc/guix.texi                 | 22 ++++++++++
>  gnu/home/services/desktop.scm | 82 ++++++++++++++++++++++++++++++++---
>  2 files changed, 99 insertions(+), 5 deletions(-)
>
> This is an attempt to fix a longstanding issue with Home services
> that depend on X11: how can we make sure that (1) they are not started
> when X is not running, and (2) they get the correct ‘DISPLAY’
> variable.
>
> […]
>
> Thoughts?

If I understood the patch correctly, the ‘x11-shepherd-service’
procedure finds a first file like ‘/tmp/.X11-unix/X0’ or
‘/tmp/.X11-unix/X2’ which is readable by a user which runs the Shepherd.

Is it possible to allow a user to exactly specify a list of files in
‘/tmp/.X11-unix’ directory, which will be checked?  It will be useful
for VNC users to make sure X11 services are running on a specified
DISPLAY. Otherwise X11 services will be running on a DISPLAY handled by
VNC after boot and never on DISPLAY which becomes available after
authentication (XWayland, GDM , SLIM, LightDM, etc).

Regards,
Oleg.