Jor*_*ina 10 server boot login
在 ubuntu 服务器上,如何避免在登录屏幕弹出之前清除屏幕?
我正在尝试阅读其中一项服务的错误消息,但出现了令人讨厌的清晰屏幕,并且无法使用 shift-pageUp 向上滚动。
小智 8
对于 systemd 设置TTYVTDisallocate为 no。
为此,请运行systemctl edit getty@tty1 并输入以下代码
[Service]
TTYVTDisallocate=no
Run Code Online (Sandbox Code Playgroud)
查看启动过程中出现的最后一个屏幕消息
当 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
fiRun Code Online (Sandbox Code Playgroud)
这就是导致注销时屏幕被清除的原因。为了阻止这种情况发生,请注释掉所有这些行,所以它看起来像:
#if [ "$SHLVL" = 1 ]; then
# [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
#fiRun Code Online (Sandbox Code Playgroud)
经过几个小时的谷歌搜索,我在这个线程和这个问题中找到了解决方案。
首先,添加console=tty1到您的GRUB_CMDLINE_LINUX(我还建议添加noplymouth到抑制plymouth及其无用的闪屏)。
#> sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX="console=tty1 noplymouth"
Run Code Online (Sandbox Code Playgroud)
这会强制打印内核日志,tty1而不是在登录提示符之前打印tty7并避免切换。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
Run Code Online (Sandbox Code Playgroud)
你必须更换:
respawn
exec /sbin/getty -8 38400 tty1
Run Code Online (Sandbox Code Playgroud)
和:
respawn
exec /sbin/getty -8 38400 --noclear tty1
Run Code Online (Sandbox Code Playgroud)
就这样,运行sudo update-grub,现在您的系统应该以单一方式启动,tty而无需清除它。
| 归档时间: |
|
| 查看次数: |
10082 次 |
| 最近记录: |