Bagaimana saya bisa melihat lebih banyak sejarah saya di Layar di Linux?

54

Saya menjalankan skrip semalam dari baris perintah (di dalam Layar pada contoh EC2 Linux) dan beberapa kesalahan yang saya tidak melacak terjadi. Saya ingin "gulir ke atas" atau melihat lebih banyak riwayat di Layar, tetapi sepertinya saya tidak dapat menemukan perintah yang akan berfungsi.

Saya perlu melihat output di layar "lebih jauh" daripada yang saya bisa di layar saya saat ini. CTRL + a seharusnya menempatkan saya ke mode gulir di dalam Layar, tetapi tidak berfungsi.

T. Brian Jones
sumber
history | less, more? Atau Anda bertanya bagaimana cara menyimpan lebih banyak sejarah?
historyhanya akan menjaga perintah telah dipecat di shell. Dia lebih banyak bertanya tentang hal
<Shift>+ <PgUp>adalah satu-satunya pilihan. Dan itu memiliki beberapa batasan juga (paling banyak 500 baris, kurasa).
ssapkota
Saya perlu melihat output di layar "lebih jauh" daripada yang saya bisa di layar saya saat ini. CTRL + a seharusnya menempatkan saya ke mode gulir di dalam Layar, tetapi itu tidak berfungsi untuk saya.
T. Brian Jones
1
Hanya Ctrl-aini screen's melarikan diri. Urutan seluruh kunci untuk masuk ke mode scrollback akan Ctrl-a [, seperti kata opyate. Ctrl-a ESCjuga berfungsi untuk saya, saya tidak ingat yang mana yang standar / umum digunakan.
ninjalj

Jawaban:

32

Ketika Anda memulai layar Anda dapat menentukan ukuran buffer scrollback dengan -h, sehingga Anda dapat meningkatkannya dari default 100 baris. Namun, dengan layar yang sedang berjalan, setelah data meninggalkan buffer, itu hilang.

William Pursell
sumber
3
Ini benar-benar salah. Jawaban oleh @opyate memang memberikan solusi
nirvana-msu
6
@ nirvana-msu Menggunakan ^ a untuk masuk ke mode scrollback memungkinkan Anda untuk naik ke buffer scrollback. Jika data sudah hilang dari buffer scrollback, itu hilang. Anda dapat menambah ukuran bufer itu saat startup. Apa sebenarnya jawaban saya yang menurut Anda salah? Saya berbicara tentang meningkatkan ukuran buffer scrollback, opyate memberikan rincian tentang cara menggunakannya.
William Pursell
2
Yah, oke, meskipun pertanyaannya bukan tentang memperpanjang buffer gulir. Penulis ingin melihat lebih banyak riwayat daripada yang biasanya ditampilkan di konsol, dan Anda dapat melihat lebih banyak riwayat menggunakan Ctrl+a+[. Jawaban Anda membuatnya sepertinya tidak mungkin, yang menyesatkan.
nirvana-msu
Ini tidak berfungsi pada mac. Jawaban lainnya juga tidak berfungsi.
Ben
76

Dengan asumsi Anda belum mengganti urutan escape Anda, Anda dapat menekan Ctrl-a [untuk masuk ke mode scrollback, kemudian gunakan Page-UP / Page-DOWN atau Ctrl-b / Ctrl-f untuk naik dan turun.

Dari wiki Gentoo pada Penggunaan layar

opyate
sumber
7
dan ESC untuk keluar dari mode scrollback, IIRC
ninjalj
sekarang gentoo wiki adalah: wiki.gentoo.org/wiki/Screen
Rmatt
lihat juga postingan ini untuk cara menggulung mouse berfungsi. Nama pasca mengatakan untuk tmux tetapi juga mencakup layar
JonnyRaa
2
Ctrl+ A, Escjuga memasuki mode salin / gulir balik.
Serge Stroobandt
7

Anda juga dapat menjalankan perintah dalam scriptperintah yang akan mencatat output ke disk. Atau Anda dapat: command 2>&1 | tee /tmp/cmd.outuntuk mencatat keluaran untuk penyelidikan di masa depan jika Anda menginginkan (secara praktis) riwayat keluaran berukuran tak terbatas.

Seth Robertson
sumber
inilah yang akhirnya saya gunakan untuk tugas saya. Bagus sekali. Terima kasih.
T. Brian Jones
6

Saya perlu melihat output di layar "lebih jauh" daripada yang saya bisa di layar saya saat ini. CTRL + a seharusnya menempatkan saya ke mode gulir di dalam Layar, tetapi tidak berfungsi.

Sebagai pelengkap jawaban lain, saya akan menunjukkan bahwa Anda dapat menambahkan dalam ~/.screenrcfile Anda :

defscrollback 100000
termcapinfo xterm ti@:te@

dimana:

  • defscrollback 100000: setel jumlah default dari garis-garis scrollback ke 100000
  • termcapinfo xterm ti@:te@: izinkan terminal bergulir di xterm atau Putty. ( layar FAQ ; FAQ Putty )
Franck Dernoncourt
sumber
Tidak bekerja di Mac. Tidak ada jawaban yang berfungsi di sini. Saya masih bisa melihat ukuran jendela Terminal. Lebih jauh ke atas hanyalah screenperintah dan hal-hal yang saya lakukan sebelum layar. Saya juga mencoba screen -h, hasil yang sama. Ada ide?
Ben
@ Maaf tidak tahu, saya hanya mencoba di Ubuntu.
Franck Dernoncourt
1
Ah, itu berfungsi dengan control+ adan kemudian ESCdan kemudian saya dapat menggulir di dalam teks dengan kursor. Yang tidak berfungsi adalah menggulir dengan mouse menggunakan slider Terminal Mac di samping. Terima kasih!
Ben
5

Anda juga dapat mengubah ukuran riwayat scrollback di layar yang sedang berjalan dengan urutan CTRL-a :(masuk ke mode command-line layar), maka scrollback 10000jika Anda menginginkan 10k baris buffer sejarah. Perubahan itu berlaku segera.

Hati-hati dalam penggunaan memori jika Anda menggunakan banyak layar dengan buffer yang sangat panjang.

Namun, seperti yang dikatakan @William Pursell, dengan layar yang sedang berjalan, setelah data meninggalkan buffer, itu hilang.

Saïmonn
sumber
0

Tergantung pada program terminal apa yang Anda gunakan, Anda biasanya dapat mengubah Buffer Scrolling di bawah Pengaturan. Saya tahu xtermAnda harus mengaktifkan Scrolling terlebih dahulu, kemudian Anda dapat mengatur buffer ke infinite.

Namun, taruhan terbaik Anda untuk skrip logging adalah dengan mengarahkan ulang output standar ke file:

ScriptName >> OutputFile.txt

Melakukannya dengan cara ini Anda dapat menggulir dan mencari secara bebas serta menyimpan catatan (yaitu jika komputer Anda crash).

EDIT: Ini dekat dengan solusi perpipaan di atas, namun mengarahkan input standar dapat berguna dalam kasus lain juga:

grep linux stackoverflow.txt > linuxquestions.txt

atau

cat linuxquestions.txt | grep buffersize > bufferquestions.txt

sumber
Perhatikan bahwa screen(1)tidak memungkinkan pengguliran terminal. Itu adalah salah satu fitur utamanya dan salah satu kelemahan utamanya.
sarnold
@sarnold Memungkinkan pengguliran terminal, lihat superuser.com/a/1336554/116475
Franck Dernoncourt
0

Menggunakan Terminal macOS saya tidak dapat menggunakan slider di samping untuk melihat riwayat teks.

Saya dapat menggulir dengan kursor di dalam teks menggunakan dan setelah saya menekan CRTL+ alalu ESC.

Dan saya harus menambahkan ini untuk ~/.screenrcmengaktifkan gulir mouse dari dalam jendela (masih tidak dengan slider):

termcapinfo xterm* ti@:te@
Ben
sumber