登录前如何删除清除屏幕


9

在ubuntu服务器上,如何避免在弹出登录屏幕之前清除屏幕?

我正在尝试在其中一项服务上读取错误消息,但得到的这个烦人的清晰屏幕却无法使用shift-PageUp向上滚动。


1
错误消息很有可能记录在中的文件中/var/log/。我将开始查看boot.logsyslog
Rinzwind

感谢您的回答Rinzwind。是的,我知道,但是为此,我需要登录系统,有时这是不可能的。我只想要一种简单的方法来检查从控制台启动时发生的情况,而登录时出现的清晰屏幕不允许我看到该情况。
豪尔赫·莫利纳

1
我仍然需要在登录屏幕之前删除透明屏幕。必须在某个地方。谢谢
豪尔赫·莫利纳

2
令人讨厌的是,似乎仍然没有方便的方法来将启动消息记录到某处。每当遇到此类问题时,我都会拿出相机,取一个短片,然后以慢动作播放。:-/
htorque 2011年

1
要查看引导消息,您可以检查/var/log/boot.log、/var/log/syslog、/var/log/dmesg文件。
豪尔赫·莫利纳

Answers:


7

对于systemd设置TTYVTDisallocate为no。

为此,请运行systemctl edit getty@tty1 并输入以下代码

[Service]
TTYVTDisallocate=no

我正在运行Ubuntu 16.04服务器,这是唯一对我有用的东西。我不需要任何其他答案。
stefansundin

2
16.4服务器,为我工作。我使用了更详细的描述
Zefiro

@Zefiro给出的更详细的描述在Raspbian Jessie中也对我有用,在那里systemctl edit抱怨Unknown operation 'edit'.。感谢您的链接。
Ruslan'7

4

查看引导过程中出现的消息的最后一个屏幕

启动Ubuntu Server时,您看到的消息通常会写入tty7(第七个虚拟控制台)。引导完成后,将切换到tty1,提示您登录。因此,引导消息实际上并未清除。您只需切换到与包含它们的控制台不同的控制台即可。

要再次查看它们,可以通过按Alt + F7切换到tty7。您可以使用Alt + F1切换回tty1(使用Alt + F2切换至第二个,依此类推)。这在大多数Ubuntu Server系统上并不适用(并且不应适用),但是在运行GUI时,必须使用Ctrl + Alt + F1切换到tty1(对于tty2则使用Ctrl + Alt + F2,依此类推)。

防止用户注销后清除屏幕,因此在后续会话中可以看到其会话中的文本

在您的主目录中,有一个名为.bash_logout的文件,其中包含以下内容:

if [ "$SHLVL" = 1 ]; then
    [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

这就是导致注销时清除屏幕的原因。要阻止这种情况发生,请注释掉所有这些行,使其看起来像:

#if [ "$SHLVL" = 1 ]; then
#    [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
#fi

谢谢你的信息,但不能解决我的问题。我只是在寻找一种方法来删除第一个登录屏幕之前的clear screen命令。
Jorge Molina

@Jorge Molina您是否无法通过切换到第7个虚拟控制台(Alt + F7)来查看这些消息?
伊利亚·卡根

我可以。我想这应该可以解决问题。谢谢!
豪尔赫·莫利纳

@Jorge Molina我已经编辑了我的帖子以包含该信息,并对其进行了扩展,以使可能不太熟悉虚拟控制台/虚拟终端的人们受益。
伊利亚·卡根

我刚刚安装了Ubuntu Server 16.4 LTS,只有终端ALT-F1到ALT-F6,没有其他。
Zefiro

3

经过数小时的谷歌搜索,我在此线程此问题中找到了解决方案。

首先,添加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。我编辑了这些命令的所有添加--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

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


1
我可能是错的,但update-grub在编辑后是否需要/etc/default/grub
做些什么

1
是的,您正确的sudo update-grub再生是必要的grub.cfg,感谢您的纠正。
Avio
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.