On 26.03.2018 13:18, Marius Bakke wrote:
In any case it should be safe to add an activation script that creates
/tmp/.X11-unix on GuixSD. I think it can be part of %desktop-services,
or maybe even %base-services. Would you like to try it?
I would have like to send this (or similar) to the patch list:
---
From 0af5028419db3adc8c7d8c4d51668c5077013ecc Mon Sep 17 00:00:00 2001
From: Thorsten Wilms <t...@freenet.de>
Date: Wed, 28 Mar 2018 19:59:11 +0200
Subject: [PATCH] gnu: Add x11-socket-dir-service
* gnu/services/desktop.scm (gnu): Export x11-socket-dir-service, define it,
add it to %desktop-services list.
---
gnu/services/desktop.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 897252917..ef3a5457e 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -94,6 +94,8 @@
xfce-desktop-service
xfce-desktop-service-type
+ x11-socket-dir-service
+
%desktop-services))
;;; Commentary:
@@ -882,6 +884,21 @@ with the administrator's password."
;;;
+;;; X11 socket directory service
+;;;
+
+(define x11-socket-dir-service
+ ;; Return a service that creates /tmp/.X11-unix. X11 servers, including
+ ;; XWayland, create their socket file there.
+ (simple-service 'x11-socket-dir
+ activation-service-type
+ #~(begin (use-modules (guix build utils))
+ (let ((p "/tmp/.X11-unix"))
+ (mkdir-p p)
+ (chmod p #o776))))) ;; drwxrwxrwt
+
+
+;;;
;;; The default set of desktop services.
;;;
@@ -912,6 +929,8 @@ with the administrator's password."
(ntp-service)
+ x11-socket-dir-service
+
%base-services))
;;; desktop.scm ends here
--
2.11.0
---
I wanted to test it by using the changed guix and an operating-system
that would include the x11-socket-dir-service. Things got messy, guix
started to insist on building Python (and failing at it!). I cleaned up
and started again:
$ git clone https://git.savannah.gnu.org/git/guix.git
$ cd guix
$ guix environment guix
$ ./bootstrap
$ ./configure --localstatedir=/var
$ make
# ./pre-inst-env guix-daemon --build-users-group=guixbuild
# ./pre-inst-env guix system reconfigure /etc/config.scm
=> since I had things to do away from the computer, I gave guix the
chance to complete, but like 3 hours later it was still building and
testing stuff, where prior to this mess, I would have expected none of
that. Last package I recognised was Subversion.
Prior attempts included sessions like:
---
thorwil@charly ~/guix_env/guix$ sudo ./pre-inst-env guix-daemon
--build-users-group=guixbuild
^Z
[1]+ Stopped sudo ./pre-inst-env guix-daemon
--build-users-group=guixbuild
thorwil@charly ~/guix_env/guix$ bg
[1]+ sudo ./pre-inst-env guix-daemon --build-users-group=guixbuild &
thorwil@charly ~/guix_env/guix$ sudo ./pre-inst-env guix system
reconfigure /etc/config.scm
guix: system: command not found
---
root@charly ~# cd /home/thorwil/guix_env/guix/
root@charly /home/thorwil/guix_env/guix# ./pre-inst-env guix system
reconfigure /etc/config.scm
substitute: guix substitute: warning: ACL for archive imports seems to
be uninitialized, substitutes may be unavailable
guix: offload: command not found
Try `guix --help' for more information.
guix system: error: build failed: unexpected EOF reading a line
---
root@charly /home/thorwil/guix_env/guix# guix environment guix
substitute: guix substitute: warning: ACL for archive imports seems to
be uninitialized, substitutes may be unavailable
guix: offload: command not found
Try `guix --help' for more information.
guix environment: error: build failed: unexpected EOF reading a line
Reading that now, I guess "substitute: guix substitute: warning: ACL for
archive imports seems to be uninitialized, substitutes may be
unavailable" is the key?
--
Thorsten Wilms
thorwil's design for free software:
http://thorwil.wordpress.com/