From: Olivier Brunel Date: Fri, 20 Sep 2013 20:18:28 +0000 (+0200) Subject: Resolve /dev/console to the active tty instead of just "tty0" X-Git-Tag: v209~1434 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=8aa5429a4a59abbcf567938fa6ef60bb2c8ae2f1;hp=51d0f1c9f6a378f3bf11179e5794dc2c13b49644 Resolve /dev/console to the active tty instead of just "tty0" When resolving /dev/console one would often get "tty0" meaning the active VT. Resolving to the actual tty (e.g. "tty1") will notably help on boot when determining whether or not PID1 can output to the console. --- diff --git a/src/shared/util.c b/src/shared/util.c index 838885a46..b77d010d2 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -3700,6 +3700,16 @@ char *resolve_dev_console(char **active) { else tty = *active; + if (streq(tty, "tty0")) { + char *tmp; + + /* Get the active VC (e.g. tty1) */ + if (read_one_line_file("/sys/class/tty/tty0/active", &tmp) >= 0) { + free(*active); + tty = *active = tmp; + } + } + return tty; }