From d84741a4bfb6ed2531ec7154479c147d2c9a737c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 24 May 2016 21:07:26 +0200 Subject: [PATCH] X server: Log to the journal instead of /var/log/X.0.log This ensures that "journalctl -u display-manager" does what you would expect in 2016. However, the main reason is to ensure that our VM tests show the output of the X server. A slight problem is that with KDE user switching, messages from the various X servers end up in the same place. However, that's an improvement over the previous situation, where the second X server would overwrite the /var/log/X.0.log of the first. (This was caused by the fact that we were passing a hard-coded value for -logfile.) --- nixos/modules/services/x11/display-managers/kdm.nix | 2 +- nixos/modules/services/x11/xserver.nix | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/x11/display-managers/kdm.nix b/nixos/modules/services/x11/display-managers/kdm.nix index 9b937ff7ee18..d9f7f8f0dfc4 100644 --- a/nixos/modules/services/x11/display-managers/kdm.nix +++ b/nixos/modules/services/x11/display-managers/kdm.nix @@ -139,7 +139,7 @@ in mkdir -m 0755 -p /var/lib/kdm chown kdm /var/lib/kdm ${(optionalString (config.system.boot.loader.id == "grub" && config.system.build.grub != null) "PATH=${config.system.build.grub}/sbin:$PATH ") + - "KDEDIRS=/run/current-system/sw exec ${kdebase_workspace}/bin/kdm -config ${kdmrc} -nodaemon"} + "KDEDIRS=/run/current-system/sw exec ${kdebase_workspace}/bin/kdm -config ${kdmrc} -nodaemon -logfile /dev/stderr"} ''; logsXsession = true; }; diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 4f65ed72d36e..82d3e31e2a01 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -520,6 +520,7 @@ in serviceConfig = { Restart = "always"; RestartSec = "200ms"; + SyslogIdentifier = "display-manager"; }; }; @@ -527,10 +528,11 @@ in [ "-terminate" "-config ${configFile}" "-xkbdir" "${cfg.xkbDir}" + # Log at the default verbosity level to stderr rather than /var/log/X.*.log. + "-verbose" "3" "-logfile" "/dev/null" ] ++ optional (cfg.display != null) ":${toString cfg.display}" ++ optional (cfg.tty != null) "vt${toString cfg.tty}" ++ optional (cfg.dpi != null) "-dpi ${toString cfg.dpi}" - ++ optionals (cfg.display != null) [ "-logfile" "/var/log/X.${toString cfg.display}.log" ] ++ optional (!cfg.enableTCP) "-nolisten tcp"; services.xserver.modules =