使 systemd 调试 shell 再次可用

max*_*zig 5 debugging systemd

指定systemd.debug-shell=1为内核参数类型有效:当 systemd 启动挂起时,我可以通过 Alt+F9 切换到 shell。

但是这个外壳是完全不可能的,因为一个动画

[ ***  ] A start job is running for Create Volatile Files and 
        Directories (4min 23s / no limit)
Run Code Online (Sandbox Code Playgroud)

横幅正在破坏我的提示和命令行输出。

因此,我的问题是:如何在我的 shell tty9 中禁用这个阻碍 systemd 的输出?

我可以将它显示在 tty1 中,即主控制台 - 但按原样,它使 systemd 调试外壳无法使用。

这是 Fedora 29 下的 systemd。

max*_*zig 4

一种方法是将systemd.show_status设置为内核参数。例如,总共:

systemd.debug-shell=1 systemd.show_status=false
Run Code Online (Sandbox Code Playgroud)

这使得 systemd 调试 shell 再次可用。

然而,它会杀死所有 systemd 启动控制台输出,而不仅仅是阻碍动画。也许有更好的方法 - 例如 - 告诉 systemd 以某种方式打印到某个 tty。

挂起的作业可以通过以下方式显示:

# systemctl list-jobs | grep running
Run Code Online (Sandbox Code Playgroud)