阻止控制台清除屏幕?


11

引导至Linux时,有时会有一两行会被快速清除。我认为其中一些甚至没有出现在dmesg中。如果没有其他问题,我想在“ login:”提示符之前取消清除。是否可以设置内核命令或sysctl来防止这种情况,以便引导后在控制台屏幕上读取它们?


/var/log/kern.log没有帮助吗?还是你没有?
HUB

Answers:


13

大多数时候,你想将在信息/var/log/dmesg/var/log/messages系统启动后,应先检查这些文件。

通常,Linux机器为虚拟终端运行mingetty。如果您有传统的sysv初始化系统,则这些文件由来控制/etc/inittab。您可以将--noclear选项添加到mingetty以防止清除屏幕。为此,请编辑/etc/inittab并更改以下行:

1:2345:respawn:/sbin/mingetty tty1

1:2345:respawn:/sbin/mingetty --noclear tty1

然后重启机器。

一些较新的linux发行版使用init替代品,例如Upstart(例如Ubuntu)。这些通常不使用/ etc / inittab,而是使用其他一些配置文件。这是关于如何在Ubuntu上调用mingetty讨论


好吧,我忘了提到我确实在乎Ubuntu。以上几点到了过期的一些信息,我的第一次尝试链接(只是编辑/etc/init/tty1.conf一点也不成功。
保罗·霍夫曼

他们使用gettyfrom util-linux,而不是mingetty,但这也适用于Debian。谢谢!
mirabilos

10

与系统化的事物不同。请参阅停止清除My God Damned Console文章。简而言之:

mkdir /etc/systemd/system/getty@.service.d
cat >/etc/systemd/system/getty@.service.d/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF
systemctl daemon-reload

验证结果 systemctl cat getty@tty1.service


4

如果没有其他帮助,您可以通过在内核参数中添加以下内容,来拿起您的笔记本电脑并通过串行控制台捕获所有内核日志:

console=tty0 console=ttyS0,9600n8 console=tty0

这将导致输出到串行控制台(在终端程序中)和标准tty上的apper。有时SOL(LAN上串行)可用。


3

经过数小时的谷歌搜索,我在此线程此问题中找到了解决方案。此过程也适用于此处Ubuntu 12.04.1 LTS所述,但是对于其他发行版,它应该相差不大。

首先,添加console=tty1到您的GRUB_CMDLINE_LINUX(我也建议添加noplymouth抑制plymouth及其无用的启动画面)。

#> sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX="console=tty1 noplymouth"

这将强制打印内核日志,tty1而不是打印日志,tty7并避免tty在登录提示之前进行切换。

然后,只需进入/etc/init和编辑的一种或多种tty1.conftty2.conftty3.conftty4.conftty5.conftty6.confconsole.conf。我将它们全部添加--nocleargetty命令中。例如,编辑tty1.conf

#> sudo vi /etc/init/tty1.conf

您必须更换:

respawn
exec /sbin/getty -8 38400 tty1

与:

respawn
exec /sbin/getty -8 38400 --noclear tty1

就是这样,现在您的系统应该一次启动tty而不清除它。


1

dmesg 这里回到内核的最开始,从

[    0.000000] Initializing cgroup subsys cpuset

也许这是一些BIOS消息或您的引导程序的一部分?无论哪种方式,都有很多不同的东西可以使屏幕空白,而又不知道在过程中到底发生了什么,所以很难说要怎么做。屏幕上仅剩下“登录:”吗?还是上面有其他启动内容?如果紧接在登录提示之前,并且屏幕上没有其他任何内容,那么其中是否可能/etc/issue存在屏幕空白命令?否则,您可能会使用某种控制台帧缓冲区来切换视频模式。在我的计算机上,加载控制台字体后,屏幕变为空白。


TL; DR /etc/issue也可能是罪魁祸首。好提示。
蒂诺(Tino)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.