journalctl: cómo evitar que el texto se trunca en la terminal

60

¿Cómo puedo evitar que las cadenas largas se trunquen en la terminal? Por ejemplo si corro

journalctl -xn

Hay muchos textos que no puedo leer. Estoy abierto a usar otros programas / herramientas.

P.Brian.Mackey
fuente
Uso journalctl -x, -npredeterminado a 10 líneas solo en el registro.
Cuonglm

Respuestas:

63

Desde la página del journalctlmanual:

   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.

Si no desea utilizar constantemente las teclas de flecha izquierda y derecha, simplemente canalícela directamente a less:

$ journalctl -xn | less

Esto ajustará las líneas que son demasiado largas para su terminal (el comportamiento predeterminado de less, que journalctlanula).

O, por supuesto, si no le importa tener que usar el desplazamiento hacia atrás de su terminal, no podría usar ningún buscapersonas:

$ journalctl -xn --no-pager
Perilla de la puerta
fuente
Ah, sí. Yo vi.
Cuonglm
3
Esto es realmente frustrante. Si el localizador está establecido en less, y LESSno incluye -S, journalctl no debería aplicarse -Sa la invocación de less!! Es decir, establecer PAGER = less y LESS = $ x (donde $ x es cualquier cadena que no contenga S) debería dar el comportamiento deseado.
William Pursell
1
Es decir, journalctl debería honrar MENOS, ¡y el usuario no debería tener que configurar también SYSTEMD_LESS! (Disculpas, pomo de la puerta, esta es una queja que probablemente no pertenece como un comentario a tu respuesta)
William Pursell
William tonto. El Sr. Pottering sabe lo que es mejor para usted, y si no le gusta, obviamente está equivocado. </rant>
dannysauer
15

Yo también hago:

journalctl -xn | less

Pero también puede establecer la SYSTEMD_LESSvariable de entorno:

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

Lo obtuve de: [systemd-devel] [PATCH] pager: ajusta largas líneas por defecto

¡Configúralo en tu .bashrc y listo! :-)

Eso systemddebe configurarse lessespecialmente y no solo honra los menos valores predeterminados y el LESSentorno me parece un poco arrogante, pero bueno, esto funciona ...

Peter V. Mørch
fuente
Sólo se añadió recientemente soporte SYSTEMD_LESS, por ejemplo, CentOS 7 no tiene una versión que lo soporta
jnas
Funciona al menos en CentOS 7.5.
Vértigo
Gran solución, también agregué Defaults env_keep += "LESS SYSTEMD_LESS"a /etc/sudoers. Es para esos momentos en que accidentalmente puse sudodelante de, por ejemplo systemctl status.
Metamórfico el
No es simplemente "un poco arrogante", es increíblemente molesto. Espero que no sea la arrogancia, sino la ignorancia lo que impulse este comportamiento.
William Pursell
Echó un vistazo al código fuente. Anular específicamente la elección del usuario en MENOS es simplemente estúpido. Todavía no estoy seguro de si es arrogancia o ignorancia, pero probablemente sea una combinación saludable de los dos.
William Pursell
2

Si el programa ya usa less(si no, canalice la salida hacia él), puede habilitar / deshabilitar el ajuste de línea escribiendo -S(in less), esto también funciona para otras lessopciones.

Thomas Erker
fuente
0

Tenga en cuenta también que:

journalctl -f

le mostrará todo lo último tal como viene y lo envolverá como cualquier ser humano normal (o incluso un administrador de sistemas) esperaría permitir una lectura fácil, copiar y pegar, y todo lo demás.

mlncn
fuente
-1

Escribo en la terminal,
journalctl | morefunciona muy bien para mí y luego uso flechas hacia arriba o hacia abajo.

usuario309707
fuente