kbd service: use /dev/tty1 for systemd-vconsole-setup

Fixes #22470
This commit is contained in:
Nikolay Amiantov 2017-02-16 16:46:30 +03:00
parent 109ee2a338
commit 0c81594a29

View File

@ -98,12 +98,22 @@ in
'') config.i18n.consoleColors}
'';
/* XXX: systemd-vconsole-setup needs a "main" terminal. By default
* /dev/tty0 is used which wouldn't work when the service is restarted
* from X11. We set this to /dev/tty1; not ideal because it may also be
* owned by X11 or something else.
*
* See #22470.
*/
systemd.services."systemd-vconsole-setup" =
{ wantedBy = [ "sysinit.target" ];
before = [ "display-manager.service" ];
after = [ "systemd-udev-settle.service" ];
restartTriggers = [ vconsoleConf kbdEnv ];
restartIfChanged = false; # fails when tty is inactive
serviceConfig.ExecStart = [
""
"${pkgs.systemd}/lib/systemd/systemd-vconsole-setup /dev/tty1"
];
};
}