启动到Linux时,有时会有一两行快速清除。 我认为其中有些甚至不出现在dmesg中。 如果没有别的,我想在“login:”提示符之前禁止清除。 有一个内核命令或sysctl,我可以设置,以防止这种情况,我可以在启动后在控制台屏幕上阅读它们?
系统引导后,大多数信息都在/var/log/dmesg和/var/log/messages ,您应该首先检查这些文件。
一般来说,linux机器为虚拟terminal运行mingetty 。 如果你有一个传统的sysv init系统,这些系统由/etc/inittab 。 您可以将--noclear选项添加到mingetty以防止清除屏幕。 为此,请编辑/etc/inittab并更改以下行:
1:2345:respawn:/sbin/mingetty tty1
至
1:2345:respawn:/sbin/mingetty --noclear tty1
然后重新启动机器。
一些较新的Linux发行版像Upstart(例如Ubuntu)一样使用initreplace。 这些通常不使用/ etc / inittab,而是使用其他一些configuration文件。 下面是关于在Ubuntu上如何调用mingetty的讨论 。
如果没有其他的帮助,你可以抓住你的笔记本电脑,并通过串行控制台捕获所有的内核日志,通过添加这样的内核参数:
console=tty0 console=ttyS0,9600n8 console=tty0
这将导致输出到串行控制台(在你的terminal程序)和标准的tty上。 有时SOL(局域网串口)可用。
随着系统的东西是不同的。 看到文章停止清除我的上帝诅咒的控制台 。 简而言之:
mkdir /etc/systemd/system/[email protected] cat >/etc/systemd/system/[email protected]/noclear.conf <<EOF [Service] TTYVTDisallocate=no EOF systemctl daemon-reload
使用systemctl cat [email protected]validation结果
经过几个小时的谷歌search,我发现这个线程和这个问题的解决scheme。 这个过程也适用于Ubuntu 12.04.1 LTS如下所述,但对于其他发行Ubuntu 12.04.1 LTS这个过程不会有太大差别。
首先,将console=tty1添加到您的GRUB_CMDLINE_LINUX (我也build议添加noplymouth来禁止plymouth及其无用的splashscreen)。
#> sudo vi /etc/default/grub GRUB_CMDLINE_LINUX="console=tty1 noplymouth"
这迫使内核日志打印在tty1而不是tty7并在login提示符之前避免tty开关。
然后进入/etc/init并编辑一个或多个tty1.conf , tty2.conf , tty3.conf , tty4.conf , tty5.conf , tty6.conf或console.conf 。 我编辑了所有添加--noclear选项的getty命令。 例如,编辑tty1.conf :
#> sudo vi /etc/init/tty1.conf
你将不得不取代:
respawn exec /sbin/getty -8 38400 tty1
有:
respawn exec /sbin/getty -8 38400 --noclear tty1
就是这样,现在你的系统应该在一个tty启动而不清除它。
这里的dmesg可以追溯到内核的开始,开始
[ 0.000000] Initializing cgroup subsys cpuset
也许这是一些BIOS消息或您的启动加载程序的一部分? 无论哪种方式,都有很多不同的东西可以使屏幕空白,而不知道它发生的过程中到底发生了什么,很难说出如何处理。 是唯一留在屏幕上的“login:”? 或者是否有其他一些启动的东西呢? 如果在login提示之前,屏幕上没有任何其他信息,那么/etc/issue是否有屏幕消隐命令? 否则,您可能会使用某种控制台帧缓冲区切换video模式。 在我的计算机上,加载控制台字体时屏幕空白。