journalctl: Verhindert, dass Text im Terminal abgeschnitten wird


59

Wie kann ich verhindern, dass lange Zeichenfolgen im Terminal abgeschnitten werden? Zum Beispiel, wenn ich renne

journalctl -xn

Es gibt eine Menge Text, den ich nicht lesen kann. Ich bin offen für die Verwendung anderer Programme / Tools.


Verwenden Sie journalctl -x, -nstandardmäßig nur zu 10 Zeilen in log.
Dienstag,

Antworten:


62

Aus der journalctlManpage:

   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.

Wenn Sie nicht ständig die linke und rechte Pfeiltaste verwenden möchten, leiten Sie es einfach direkt an less:

$ journalctl -xn | less

Dadurch werden Zeilen umbrochen, die für Ihr Terminal zu lang sind (das Standardverhalten von less, das journalctlüberschreibt).

Wenn es Ihnen nichts ausmacht, den Scrollback Ihres Terminals zu verwenden, können Sie natürlich auch keinen Pager verwenden:

$ journalctl -xn --no-pager

Ah ja. Ich sah.
Dienstag,

3
Das ist wirklich frustrierend. Wenn der Pager auf gesetzt lessist und LESSnicht enthält -S, sollte journalctl nicht -Sauf den Aufruf von less!! angewendet werden. Das heißt, das Setzen von PAGER = less und LESS = $ x (wobei $ x eine beliebige Zeichenfolge ist, die kein S enthält) sollte das gewünschte Verhalten ergeben.
William Pursell

1
Das heißt, journalctl sollte WENIGER berücksichtigen und der Benutzer sollte nicht auch SYSTEMD_LESS festlegen müssen! (Entschuldigung, Türklinke, dies ist eine Art Schimpfe, die wahrscheinlich nicht als Kommentar zu Ihrer Antwort gehört)
William Pursell

Dummer William. Mr. Pottering weiß, was für Sie am besten ist, und wenn Sie es nicht mögen, liegen Sie offensichtlich falsch. </ Rant>
dannysauer

15

Ich auch:

journalctl -xn | less

Sie können jedoch auch die SYSTEMD_LESSUmgebungsvariable festlegen :

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

Das habe ich von: [systemd-devel] [PATCH] pager: Standardmäßig lange Zeilen umbrechen

Setzen Sie es in Ihre .bashrc und fertig! :-)

Das systemdmuss lessspeziell eingerichtet werden und berücksichtigt nicht nur die geringeren Standardeinstellungen und die LESSUmgebung scheint mir ein wenig arrogant zu sein, aber hey, das funktioniert ...


SYSTEMD_LESS-Unterstützung wurde erst kürzlich hinzugefügt, z. B. hat CentOS 7 keine Version, die dies unterstützt
jnas

Funktioniert mindestens unter CentOS 7.5.
Vertigo

Große Lösung, habe ich auch Defaults env_keep += "LESS SYSTEMD_LESS"zu /etc/sudoers. Es ist für jene Zeiten, wenn ich versehentlich sudovor z systemctl status.
Metamorphic

Es ist nicht nur "ein bisschen arrogant", es ist unglaublich nervig. Ich hoffe, es ist nicht Arroganz, sondern Unwissenheit, die dieses Verhalten antreibt.
William Pursell

Blickte auf den Quellcode. Insbesondere das Überschreiben der Auswahl des Benutzers in LESS ist einfach nur dumm. Ich bin mir immer noch nicht sicher, ob es Arroganz oder Ignoranz ist, aber wahrscheinlich eine gesunde Kombination von beidem.
William Pursell

2

Wenn das Programm bereits lessZeilenumbrüche verwendet (andernfalls leiten Sie die Ausgabe an das Programm weiter ), können Sie diese durch Eingabe von -S(in less) aktivieren / deaktivieren. Dies gilt auch für andere lessOptionen.


0

Beachten Sie auch, dass:

journalctl -f

zeigt Ihnen die neuesten Informationen, wie sie eingehen und sich wie ein normaler Mensch (oder sogar ein Systemadministrator) verpacken lassen, der das einfache Lesen, Einfügen von Kopien und alles andere erwartet.


-1

Ich tippe das Terminal ein,
journalctl | morefunktioniert gut für mich, dann benutze ich die Pfeile nach oben oder unten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.