防止控制台清屏?

Pau*_*man 15 linux console kernel

启动到 Linux 时,有时会很快清除一两行。我认为其中一些甚至没有出现在 dmesg 中。如果不出意外,我想在“登录:”提示之前取消清除。是否有我可以设置的内核命令或 sysctl 来防止这种情况发生,以便我可以在启动后在控制台屏幕上读取它们?

Tin*_*ino 14

有了 systemd,事情就不一样了。请参阅文章停止清除我该死的控制台。简而言之:

mkdir /etc/systemd/system/getty@.service.d
cat >/etc/systemd/system/getty@.service.d/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF
systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)

验证结果 systemctl cat getty@tty1.service


Phi*_*ack 13

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

通常linux机器为虚拟终端运行mingetty。如果您有传统的 sysv init 系统,则它们由/etc/inittab. 您可以将--noclear选项添加到 mingetty 以防止清除屏幕。为此,请编辑/etc/inittab并更改此行:

1:2345:respawn:/sbin/mingetty tty1
Run Code Online (Sandbox Code Playgroud)

1:2345:respawn:/sbin/mingetty --noclear tty1
Run Code Online (Sandbox Code Playgroud)

然后重启机器。

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