journalctl: bagaimana mencegah teks terpotong di terminal

60

Bagaimana saya bisa menjaga agar string panjang tidak terputus di terminal? Misalnya kalau saya lari

journalctl -xn

Ada banyak teks yang tidak bisa saya baca. Saya terbuka untuk menggunakan program / alat lain.

P.Brian.Mackey
sumber
Gunakan journalctl -x, -ndefault untuk 10 baris hanya dalam log.
cuonglm

Jawaban:

63

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

Jika Anda tidak ingin terus-menerus menggunakan tombol panah kiri dan kanan, cukup pipa langsung ke less:

$ journalctl -xn | less

Ini akan membungkus baris yang terlalu panjang untuk terminal Anda (perilaku default less, yang journalctlmenimpa).

Atau, tentu saja, jika Anda tidak keberatan harus menggunakan scrollback terminal Anda, Anda tidak dapat menggunakan pager sama sekali:

$ journalctl -xn --no-pager
Gagang pintu
sumber
Ah iya. Saya melihat.
cuonglm
3
Ini benar-benar membuat frustrasi. Jika pager diatur ke less, dan LESStidak termasuk -S, journalctl seharusnya tidak berlaku -Suntuk permohonan less!! Artinya, pengaturan PAGER = kurang dan KURANG = $ x (di mana $ x adalah string yang tidak mengandung S) harus memberikan perilaku yang diinginkan.
William Pursell
1
Artinya, journalctl harus menghormati KURANG, dan pengguna tidak harus juga mengatur SYSTEMD_LESS! (Permintaan maaf, gagang pintu, ini sedikit kata-kata kasar yang mungkin tidak termasuk sebagai komentar atas jawaban Anda)
William Pursell
William yang konyol. Mr. Pottering tahu yang terbaik untuk Anda, dan jika Anda tidak menyukainya, Anda jelas salah. </rant>
dannysauer
15

Saya juga melakukan:

journalctl -xn | less

Tetapi Anda juga dapat mengatur SYSTEMD_LESSvariabel lingkungan:

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

Saya mendapatkannya dari: [systemd-devel] [PATCH] pager: bungkus baris panjang secara default

Setel di .bashrc Anda dan selesai dengan itu! :-)

Itu systemdperlu diatur lesssecara khusus dan tidak hanya menghormati standar kurang dan LESSlingkungan tampaknya sedikit sombong bagi saya, tapi hei, ini berfungsi ...

Peter V. Mørch
sumber
Dukungan SYSTEMD_LESS baru-baru ini ditambahkan, mis. CentOS 7 tidak memiliki versi yang mendukungnya
jnas
Bekerja setidaknya pada CentOS 7.5.
Vertigo
Solusi yang bagus, saya juga menambahkan Defaults env_keep += "LESS SYSTEMD_LESS"untuk /etc/sudoers. Ini untuk saat-saat ketika saya secara tidak sengaja meletakkan sudodi depan eg systemctl status.
Metamorphic
Ini bukan hanya "sedikit arogan", itu sangat menjengkelkan. Saya harap itu bukan kesombongan, tetapi ketidaktahuan yang mendorong perilaku ini.
William Pursell
Melirik kode sumber. Khususnya mengesampingkan pilihan pengguna dalam KURANG benar-benar bodoh. Saya masih tidak yakin apakah itu kesombongan atau ketidaktahuan, tetapi mungkin kombinasi yang sehat dari keduanya.
William Pursell
2

Jika program sudah menggunakan less(jika tidak, kirimkan hasilnya ke pipa), Anda dapat mengaktifkan / menonaktifkan pembungkus baris dengan mengetik -S(dalam less), Ini juga berfungsi untuk lessopsi lain .

Thomas Erker
sumber
0

Perhatikan juga bahwa:

journalctl -f

akan menunjukkan kepada Anda semua yang terbaru saat datang dan membungkus seperti manusia normal (atau bahkan sysadmin) akan mengharapkan untuk memudahkan membaca, menyalin-paste, dan segala sesuatu lainnya.

mlncn
sumber
-1

Saya mengetikkan terminal,,
journalctl | morebekerja dengan baik untuk saya kemudian saya menggunakan panah ke atas atau ke bawah.

pengguna309707
sumber