diff options
author | Ludovic Courtès <ludo@gnu.org> | 2023-08-16 19:37:25 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-11-05 23:23:23 +0100 |
commit | 08d94fe20eca47b69678b3eced8749dd02c700a4 (patch) | |
tree | 1e06ec77e6631255e5b0ab7602f164dff9fbb973 /doc/guix.texi | |
parent | 331d858e21357c1cf657818dfb4296c3d15629b6 (diff) |
home: services: Add 'x11-display' service.
* 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.
Change-Id: Ibd46d71cbb80fcdff8dbf3e8dbcfc3b24163bdb6
Diffstat (limited to 'doc/guix.texi')
-rw-r--r-- | doc/guix.texi | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index b90078be06..9f06f1c325 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -44475,6 +44475,40 @@ The @code{(gnu home services desktop)} module provides services that you may find useful on ``desktop'' systems running a graphical user environment such as Xorg. +@cindex X Window, for Guix Home services +@cindex X11, in Guix Home +@defvar home-x11-service-type +This is the service type representing the X Window graphical display +server (also referred to as ``X11''). + +X Window is necessarily started by a system service; on Guix System, +starting it is the responsibility of @code{gdm-service-type} and similar +services (@pxref{X Window}). At the level of Guix Home, as an +unprivileged user, we cannot start X Window; all we can do is check +whether it is running. This is what this service does. + +As a user, you probably don't need to worry or explicitly instantiate +@code{home-x11-service-type}. Services that require an X Window +graphical display, such as @code{home-redshift-service-type} below, +instantiate it and depend on its corresponding @code{x11-display} +Shepherd service (@pxref{Shepherd Home Service}). + +When X Window is running, the @code{x11-display} Shepherd service starts +and sets the @env{DISPLAY} environment variable of the +@command{shepherd} process, using its original value if it was already +set; otherwise, it fails to start. + +The service can also be forced to use a given value for @env{DISPLAY}, +like so: + +@example +herd start x11-display :3 +@end example + +In the example above, @code{x11-display} is instructed to set +@env{DISPLAY} to @code{:3}. +@end defvar + @defvar home-redshift-service-type This is the service type for @uref{https://github.com/jonls/redshift, Redshift}, a program that adjusts the display color temperature |