journalctl: come impedire il troncamento del testo nel terminale


60

Come posso impedire il troncamento delle stringhe lunghe nel terminale? Ad esempio se corro

journalctl -xn

Ci sono molti testi che non riesco a leggere. Sono aperto all'utilizzo di altri programmi / strumenti.


Utilizzare journalctl -x, per -nimpostazione predefinita , solo 10 righe nel registro.
cuonglm,

Risposte:


63

Dalla 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.

Se non si desidera utilizzare costantemente i tasti freccia sinistra e destra, è sufficiente reindirizzarlo direttamente a less:

$ journalctl -xn | less

Questo avvolgerà le linee troppo lunghe per il tuo terminale (il comportamento predefinito di less, che ha la precedenza journalctl).

Oppure, ovviamente, se non ti dispiace dover usare lo scrollback del tuo terminale, non puoi usare nessun cercapersone:

$ journalctl -xn --no-pager

Ah sì. Vidi.
cuonglm,

3
Questo è davvero frustrante. Se il cercapersone è impostato su lesse LESSnon include -S, journalctl non dovrebbe essere applicato -Sall'invocazione di less!! Cioè, impostando PAGER = less e LESS = $ x (dove $ x è una stringa che non contiene S) dovrebbe dare il comportamento desiderato.
William Pursell,

1
Cioè, journalctl dovrebbe onorare MENO e l'utente non dovrebbe anche impostare SYSTEMD_LESS! (Chiedo scusa, maniglia della porta, questo è un po 'strano che probabilmente non appartiene come commento alla tua risposta)
William Pursell,

Silly William. Mr. Pottering sa cosa è meglio per te, e se non ti piace, hai ovviamente torto. </rant>
dannysauer

15

Faccio anche:

journalctl -xn | less

Ma puoi anche impostare la SYSTEMD_LESSvariabile d'ambiente:

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

L'ho preso da: [systemd-devel] [PATCH] pager: avvolge le linee lunghe per impostazione predefinita

Impostalo nel tuo .bashrc e finisci! :-)

Ciò systemddeve essere impostato in modo lessspeciale e non solo onora i valori predefiniti meno e l' LESSambiente mi sembra un po 'arrogante, ma ehi, funziona ...


Il supporto SYSTEMD_LESS è stato aggiunto solo di recente, ad esempio CentOS 7 non ha una versione che lo supporta
jnas

Funziona almeno su CentOS 7.5.
Vertigo,

Grande soluzione, ho aggiunto anche Defaults env_keep += "LESS SYSTEMD_LESS"a /etc/sudoers. È per quei momenti in cui ho messo accidentalmente sudodi fronte ad es systemctl status.
Metamorfico

Non è semplicemente "un po 'arrogante", è incredibilmente fastidioso. Spero non sia l'arroganza, ma l'ignoranza che guida questo comportamento.
William Pursell,

Ho dato un'occhiata al codice sorgente. Soprattutto scavalcare la scelta dell'utente in MENO è semplicemente stupido. Non sono ancora sicuro se si tratti di arroganza o ignoranza, ma probabilmente una combinazione salutare dei due.
William Pursell,

2

Se il programma utilizza già less(in caso contrario, reindirizza l'output), è possibile abilitare / disabilitare il ritorno a capo digitando -S(in less), Funziona anche con altre lessopzioni.


0

Si noti inoltre che:

journalctl -f

ti mostrerà le ultime novità man mano che entrerà e si avvolgerà come un normale essere umano (o anche un amministratore di sistema) si aspetterebbe di consentire una facile lettura, copia e incolla e tutto il resto.


-1

Digito il terminale,,
journalctl | morefunziona benissimo per me, quindi uso le frecce su o giù.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.