Netctl 导致 getty 清除屏幕并重新显示问题消息

Netctl 导致 getty 清除屏幕并重新显示问题消息

我已将 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 地址。 (这些与上面的日志行相同,因此应该比较时间戳)

  1. 屏幕上仍然显示启动消息。底部的问题消息如下:
    • \t:22:46:35
    • \4: 空的
    • \6: 空的
  2. 启动消息和第一个问题消息已被清除,第二个问题消息如下:
    • \t:22:46:39
    • \4:192.168.7.119
    • \6:缩短的(::-语法)IPv6 地址
  3. 第二个问题消息已被清理,第三个问题如下:
    • \t:22:46:41
    • \4:192.168.7.119
    • \6:完整的 IPv6 地址(显式显示的所有字节)
  4. 最后一次清屏,第四条也是最后一条消息:
    • \t:22:46:42
    • \4:192.168.7.119
    • \6: 相同

网络控制

感谢最近的一个错误(在网络控制,或wpa_supplicant,或wpa_actiond,我不知道),我发现netctl-auto禁用时,不会清除启动消息,也不会重新显示问题消息。当我固定的该错误后,启动消息再次开始被清除。当我手动禁用 时netctl-auto,不会清除屏幕,当我再次启用它时,屏幕会被清除几次,如上所述。

问题

如果不清楚,我的问题是:到底为什么会netctl导致屏幕被清除并再次显示问题消息?是否可以禁用此行为?

相关链接

我也有在 Arch Linux 论坛上提出了这个问题

答案1

我发现这样的东西..添加--noclear[电子邮件受保护],我必须重新创建 initramfs

[Service]
TTYVTDisallocate=no
ExecStart=
ExecStart=-/usr/bin/agetty --autologin root --noclear %I $TERM

然后...

mkinitcpio -g /boot/initramfs-linux.img

启动屏幕不再清除。

相关内容