Journalctl 截断比屏幕还长的行

abu*_*bua 1 log systemd-journald

如何在调用时禁用长行的截断

journalctl -b 
Run Code Online (Sandbox Code Playgroud)

为了查看整个日记消息?

例如,该行被截断:

Jul 09 20:47:57 myubuntu org.kde.kglobalaccel[1452]: Invalid Context= "Legacy" line for icon theme:  "/usr/share/icons/Adw>
Run Code Online (Sandbox Code Playgroud)

abu*_*bua 5

这可以通过设置SYSTEMD_LESS环境变量来简单地完成。

例如,设置SYSTEMD_LESS=FRXMK(这意味着 S 不应该在集合中)将以包装格式显示消息。

这可以在 .bashrc ( ) 中设置export SYSTEMD_LESS=FRXMK或直接在journalctl命令前面设置:

SYSTEMD_LESS=FRXMK journalctl -b
Run Code Online (Sandbox Code Playgroud)

现在应该包装输出:

Jul 09 20:47:57 myubuntu org.kde.kglobalaccel[1452]: Invalid Context= "Legacy" line for icon theme:  
"/usr/share/icons/Adwaita/8x8/legacy/"
Run Code Online (Sandbox Code Playgroud)

有关设置 SYSTEMD_LESS 变量的更多信息可以在less(1)journalctl(1)中找到。

来自 less(1) :

-S 或 --chop-long-lines

导致比屏幕宽度长的行被截断(截断)而不是换行。即,不显示长线中不适合屏幕宽度的部分。默认为长行换行;也就是说,将余数显示在下一行。

作为替代方案,将--no-pager标志添加到 Journalctl 命令中:

journalctl -b0 --no-pager   
Run Code Online (Sandbox Code Playgroud)