我已将 systemd 配置为不是在调用之前清除终端getty
,并且getty
本身也使用该选项运行--noclear
,以便当getty
屏幕底部出现登录提示时,会显示我的启动消息。
好吧,至少三个月前他们还是这么做的。现在,发生的事情如下。 Systemd 将启动消息留在屏幕上(按照我的要求),而 getty 则这样做不是清除屏幕(正如我也指示的那样),但几秒钟后,屏幕闪烁,启动消息消失,并且出现新的屏幕顶部显示登录提示(实际上,屏幕闪烁了三四次,如下所述)。
我不知道这值得一提,但如果我不触摸键盘,启动消息会在几秒钟后被清除。但是,如果我在提示要求输入用户名时立即开始输入用户名,并且不按 Enter 键,则不会清除。
重生
这些是启动期间的一些相关日志行:
-- Reboot --
Dec 16 22:46:25 smt-dell systemd[1]: systemd 228 running in system mode. (+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
Dec 16 22:46:25 smt-dell systemd[1]: Created slice system-netctlx2dauto.slice.
Dec 16 22:46:25 smt-dell systemd[1]: Created slice system-getty.slice.
Dec 16 22:46:33 smt-dell systemd[1]: Starting Login Service...
Dec 16 22:46:33 smt-dell systemd[1]: Starting Automatic wireless network connection using netctl profiles...
-- Subject: Unit [email protected] has begun start-up
Dec 16 22:46:34 smt-dell systemd[1]: Started Getty on tty1.
Dec 16 22:46:34 smt-dell systemd-logind[327]: New seat seat0.
Dec 16 22:46:34 smt-dell systemd[1]: Reached target Login Prompts.
Dec 16 22:46:34 smt-dell systemd[1]: Started Login Service.
Dec 16 22:46:35 smt-dell systemd[1]: Started Automatic wireless network connection using netctl profiles.
Dec 16 22:46:35 smt-dell wpa_actiond[391]: Starting wpa_actiond session for interface 'wlp3s0'
Dec 16 22:46:35 smt-dell systemd[1]: Reached target Network.
Dec 16 22:46:35 smt-dell systemd[1]: Reached target Multi-User System.
Dec 16 22:46:35 smt-dell systemd[1]: Startup finished in 2.630s (kernel) + 12.170s (userspace) = 46.781s.
Dec 16 22:46:39 smt-dell kernel: wlp3s0: authenticated
Dec 16 22:46:39 smt-dell kernel: wlp3s0: associated
Dec 16 22:46:39 smt-dell wpa_actiond[391]: Interface 'wlp3s0' connected to network 'wl-usb'
没有日志getty
重生(正如@JdeBP 在评论中所怀疑的那样)。
视觉事件的时间戳
我(在摄像机上)记录了启动过程并记下了所有事件。我在 中包含\t
、\4
和\6
转义序列/etc/issue
,它们显示当前时间、IPv4 地址和 IPv6 地址。 (这些与上面的日志行相同,因此应该比较时间戳)
- 屏幕上仍然显示启动消息。底部的问题消息如下:
\t
:22:46:35
\4
: 空的\6
: 空的
- 启动消息和第一个问题消息已被清除,第二个问题消息如下:
\t
:22:46:39
\4
:192.168.7.119
\6
:缩短的(::
-语法)IPv6 地址
- 第二个问题消息已被清理,第三个问题如下:
\t
:22:46:41
\4
:192.168.7.119
\6
:完整的 IPv6 地址(显式显示的所有字节)
- 最后一次清屏,第四条也是最后一条消息:
\t
:22:46:42
\4
:192.168.7.119
\6
: 相同
网络控制
感谢最近的一个错误(在网络控制,或wpa_supplicant,或wpa_actiond,我不知道),我发现netctl-auto
禁用时,不会清除启动消息,也不会重新显示问题消息。当我固定的该错误后,启动消息再次开始被清除。当我手动禁用 时netctl-auto
,不会清除屏幕,当我再次启用它时,屏幕会被清除几次,如上所述。
问题
如果不清楚,我的问题是:到底为什么会netctl
导致屏幕被清除并再次显示问题消息?是否可以禁用此行为?
相关链接
答案1
我发现这样的东西..添加--noclear
后[电子邮件受保护],我必须重新创建 initramfs
[Service]
TTYVTDisallocate=no
ExecStart=
ExecStart=-/usr/bin/agetty --autologin root --noclear %I $TERM
然后...
mkinitcpio -g /boot/initramfs-linux.img
启动屏幕不再清除。