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.


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

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


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.


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.


-1

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.