Katakanlah saya memiliki sesi layar berjalan saat ini saya berinteraksi dengan melalui dempul. Saya menyadari bahwa buffer scrollback terlalu kecil dan ingin menambahnya tanpa memulai sesi layar baru.
Apakah ada cara untuk melakukan ini?
linux
gnu-screen
Zach
sumber
sumber
screen -h <numlines>
Jawaban:
The man page menjelaskan bahwa Anda dapat memasukkan modus baris perintah dalam sesi berjalan dengan mengetik Ctrl+ A, :maka mengeluarkan
scrollback <num>
perintah.sumber
<num>
jumlah baris scrollbackscrollback <num>
, itu tidak membantu Anda memperluas buffer lagi, Anda perlu mengulang perintah terakhir untuk mendapatkan seluruh buffer sejarah.Tekan Ctrl-akemudian :dan jenis kemudian
untuk mendapatkan buffer 10.000 baris, misalnya.
Anda juga dapat mengatur jumlah garis gulir mundur default dengan menambahkan
ke
~/.screenrc
file Anda .Untuk menggulir (jika terminal Anda tidak mengizinkan Anda secara default), tekan Ctrl-a ESClalu gulir (dengan biasa Ctrl-funtuk halaman berikutnya atau Ctrl-auntuk halaman sebelumnya, atau hanya dengan roda mouse / dua jari Anda). Untuk keluar dari mode gulir, cukup tekan ESC.
Kiat lain: Ctrl-a imenunjukkan pengaturan buffer Anda saat ini.
sumber
byobu-screen
di Ubuntu 12,04 tampaknya mengatur defscrollback ke 10000startup_message off' and 'defscrollback 5000' into my newly created
~ / .screenrc` dan ini mendapatkan baris pertama, tetapi yang kedua tampaknya diabaikan.Ada jumlah minimal "default" buffer ketika Anda memulai sesi 'layar' dalam 'sesi dempul' Anda. Saya banyak menggunakan layar dalam pekerjaan saya, jadi saya dapat memberi tahu Anda bahwa Anda tidak akan memiliki kombinasi buffer 'layar' & buffer 'dempul' dalam sesi 'layar' Anda.
Menyetel jumlah default garis gulir balik dengan menambahkan
defscrollback 10000
ke~/.screenrc
file Anda adalah solusi yang tepat.Omong-omong, saya menggunakan "defscrollback 200000" di
./screenrc
file saya .sumber
Seperti yang sudah disebutkan kita punya dua cara!
Pengaturan interaktif per layar (sesi)
Dan itu dilakukan secara interaktif! Dan segera berlaku!
CTRL + Adiikuti oleh :Dan kita ketik
scrollback 1000000
Dan tekanENTERAnda melepaskan diri dari layar dan kembali! Itu akan selalu sama.
Anda membuka layar baru lagi! Dan nilai diatur ulang ke default! Jadi ini bukan pengaturan global!
Dan pengaturan default permanen
Yang dilakukan dengan menambahkan
defscrollback 1000000
ke.screenrc
(di rumah)defscrollback
dan tidakscrollback
(def stand for default)Yang perlu Anda ketahui adalah jika file tersebut tidak dibuat! Anda yang membuatnya !
Dan Anda menambahkan
defscrollback 1000000
!Atau dalam satu perintah
(jika belum dibuat)
Mulai berlaku
Ketika Anda menambahkan default ke
.screenrc
! Layar yang sudah berjalan saat memasang kembali tidak akan berpengaruh! Itu.screenrc
dijalankan pada penciptaan layar! Dan itu masuk akal! Seperti halnya peluncuran konsol dan shell yang normal!Dan semua layar yang baru dibuat akan memiliki nilai yang ditetapkan!
Memeriksa ukuran buffer efektif layar
Untuk memeriksa jenis CTRL + Adiikuti olehi
Dan hasilnya akan seperti
Yang penting ukuran buffer adalah angka setelah tanda +
(dalam ilustrasi saya setel ke 1 000 000)
Perhatikan juga bahwa ketika Anda mengubahnya secara interaktif! Efeknya langsung dan mengambil alih nilai default!
Bergulir
CTRL+ Adiikuti oleh ESC(untuk masuk ke mode salin).
Kemudian navigasikan dengan Up, DownatauPgUp PgDown
Dan ESClagi untuk keluar dari mode itu.
(Info tambahan: untuk menyalin klik ENTERuntuk mulai memilih! Kemudian ENTERlagi untuk menyalin! Sederhana dan keren)
Sekarang buffer lebih besar!
Dan jumlah itu untuk rincian penting!
sumber
PERINGATAN: mengatur nilai ini terlalu tinggi dapat menyebabkan sistem Anda mengalami cegukan yang signifikan. Semakin tinggi nilai yang Anda atur, semakin banyak memori virtual dialokasikan ke proses layar saat memulai sesi layar. Saya mengatur ~ / .screenrc saya ke "defscrollback 123456789" dan ketika saya memulai layar, seluruh sistem saya membeku selama 10 menit sebelum kembali ke titik di mana saya dapat mematikan proses layar (yang menghabiskan 16.6GB VIRT mem saat itu).
sumber
Untuk anak cucu, jawaban ini salah seperti dicatat oleh Steven Lu. Namun meninggalkan teks asli.
Jawaban asli:
Bagi mereka yang datang melalui pencarian web (beberapa tahun kemudian) ...
Saat menggunakan layar, buffer scrollback Anda adalah kombinasi dari keduanya
screen
scrollback buffer seperti yang telah dicatat oleh dua jawaban sebelumnya, serta buffer putback scrollback Anda.Pastikan bahwa Anda meningkatkan KEDUA buffer putback scrollback dan juga screen scrollback buffer, jika tidak, jendela dempul Anda sendiri tidak akan membiarkan Anda menggulir kembali untuk melihat
screen
riwayat scrollback Anda (diatasi dengan menggulir layar ke dalam denganctrl+a->ctrl+u
)Anda dapat mengubah batas scrollback dempul Anda di bawah kategori "Jendela" di pengaturan. Keluar dan membuka kembali sesi dempul ke layar Anda tidak akan menutup layar Anda (dengan asumsi Anda hanya menutup jendela dempul dan tidak mengetik
exit
), seperti yang diminta OP.Harapan yang membantu mengidentifikasi mengapa meningkatkan buffer scrollback layar tidak memecahkan masalah seseorang.
sumber