journalctl: how to prevent text from truncating in terminal

How can I keep long strings from truncating in terminal? For example if I run

journalctl -xn

There’s a lot of text that I cannot read. I am open to using other programs/tools.

Asked By: P.Brian.Mackey


From the journalctl manpage:

   The output is paged through less by default, and long lines are
   "truncated" to screen width. The hidden part can be viewed by using the
   left-arrow and right-arrow keys. Paging can be disabled; see the
   --no-pager option and the "Environment" section below.

If you don’t want to constantly be using the left and right arrow keys, simply pipe it directly to less:

$ journalctl -xn | less

This will wrap lines that are too long for your terminal (the default behavior of less, which journalctl overrides).

Or, of course, if you don’t mind possibly having to use your terminal’s scrollback, you could use no pager at all:

$ journalctl -xn --no-pager
Answered By: Doorknob

If the program already uses less (if not, pipe the output to it), you can enable/disable line wrapping by typing -S (in less), This works for other less options as well.

Answered By: Thomas Erker

I also do:

journalctl -xn | less

But you can also set the SYSTEMD_LESS environment variable:

SYSTEMD_LESS=FRXMK journalctl -xn
# Or even
# SYSTEMD_LESS="" journalctl -xn
# The environment variable needs to be there, but can be the empty string

I got that from: [systemd-devel] [PATCH] pager: wrap long lines by default

Set it in your .bashrc and be done with it! 🙂

That systemd needs to setup less specially and doesn’t just honor the less defaults and the LESS environment seems a little arrogant to me, but hey, this works…

Answered By: Peter V. Mørch

I type in terminal,
journalctl | more, works great for me then I use arrows up or down.

Answered By: user309707

Note also that:

journalctl -f

will show you all the latest as it comes in and wrap like any normal human being (or even sysadmin) would expect to allow easy reading, copy-pasting, and everything else.

Answered By: mlncn

This is the command I use for CentOS 7, which preserves coloring and wraps lines:

SYSTEMD_PAGER="less -r"  journalctl
Answered By: Dan M

$ SYSTEMD_PAGER="less +-S" journalctl

+ executes command on start and -S disable chopping.

You can also set this value for a session or save in rc/profile script.

Answered By: CheatEx
Categories: Answers Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.