services: xorg: Enable override of xserver-arguments.

* gnu/services/xorg.scm (xorg-start-command): Add parameter #:xserver-arguments.
* doc/guix.texi (X Window): Document it.
master
Jan Nieuwenhuizen 2019-02-15 19:13:55 +01:00
parent 3aeac37e61
commit 24f11b06bb
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
2 changed files with 23 additions and 4 deletions

View File

@ -31,7 +31,7 @@ Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@*
Copyright @copyright{} 2016, 2017, 2018 Efraim Flashner@*
Copyright @copyright{} 2016 John Darrington@*
Copyright @copyright{} 2016, 2017 Nils Gillmann@*
Copyright @copyright{} 2016, 2017, 2018 Jan Nieuwenhuizen@*
Copyright @copyright{} 2016, 2017, 2018, 2019 Jan Nieuwenhuizen@*
Copyright @copyright{} 2016 Julien Lepiller@*
Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@*
@ -13140,6 +13140,7 @@ type @code{<sddm-configuration>}.
[#:fonts %default-xorg-fonts] @
[#:configuration-file (xorg-configuration-file @dots{})] @
[#:xorg-server @var{xorg-server}]
[#:xserver-arguments '("-nolisten" "tcp")]
Return a @code{startx} script in which @var{modules}, a list of X module
packages, and @var{fonts}, a list of X font directories, are available. See
@code{xorg-wrapper} for more details on the arguments. The result should be
@ -13148,6 +13149,22 @@ used in place of @code{startx}.
Usually the X server is started by a login manager.
@end deffn
@cindex @code{-listen tcp}, for X11.
This procedure is useful to override command line options for the X server,
such as having it listen to over TCP:
@example
(operating-system
...
(services
(modify-services %desktop-services
(slim-service-type config =>
(slim-configuration
(inherit config)
(startx (xorg-start-command
#:xserver-arguments '("-listen" "tcp"))))))))
@end example
@deffn {Scheme Procedure} xorg-configuration-file @
[#:modules %default-xorg-modules] @
[#:fonts %default-xorg-fonts] @

View File

@ -3,6 +3,7 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -292,7 +293,8 @@ in place of @code{/usr/bin/X}."
(configuration-file
(xorg-configuration-file #:modules modules
#:fonts fonts))
(xorg-server xorg-server))
(xorg-server xorg-server)
(xserver-arguments '("-nolisten" "tcp")))
"Return a @code{startx} script in which @var{modules}, a list of X module
packages, and @var{fonts}, a list of X font directories, are available. See
@code{xorg-wrapper} for more details on the arguments. The result should be
@ -305,8 +307,8 @@ used in place of @code{startx}."
(define exp
;; Write a small wrapper around the X server.
#~(apply execl #$X #$X ;; Second #$X is for argv[0].
"-logverbose" "-verbose" "-nolisten" "tcp" "-terminate"
(cdr (command-line))))
"-logverbose" "-verbose" "-terminate" #$@xserver-arguments
(cdr (command-line))))
(program-file "startx" exp))