apakah ada cara untuk menyimpan apa yang dicetak pada layar dengan layar gnu?

9

Saya suka menyimpan semua yang saya lakukan di baris perintah, misalnya ketika saya memutakhirkan sesuatu dan ingin membaca kembali bagaimana peningkatan itu berjalan dll.

Biasanya dengan Mac OSX dan Terminal Anda dapat menggulir kembali sebanyak yang Anda inginkan, dan menyimpan dengan Cmd-S. Tetapi ketika saya menggunakan SSH menggunakan layar gnu, maka saya tidak dapat menggulir kembali langsung dari terminal.

Bagaimana saya bisa menyimpan ke disk semua yang terjadi dalam sesi layar? Mungkin secara default (setiap sesi secara otomatis membuat file ke disk ...)

Terima kasih!

luca
sumber

Jawaban:

7

Ada fitur masuk screen. Mulai ketika Anda mulai screendengan melakukan screen -L(atau dari dalam screen). Atau, juga dari dalam screen, Anda dapat menekan Ctrl- a : H.

Jika Anda ingin logon sebagai default, tambahkan baris berikut ke ~/.screenrcfile Anda :

deflog on

Anda mungkin ingin mengatur nama file menggunakan sesuatu seperti:

logfile /tmp/screenlog.%n
Dijeda sampai pemberitahuan lebih lanjut.
sumber
1
Seseorang seharusnya tidak menyimpannya di / tmp, karena biasanya akan dibersihkan saat reboot (misalnya karena kegagalan daya).
maksimal
@ Maxelost: Itu sesuatu untuk dipertimbangkan. Itu hanya sebuah contoh. Intinya adalah untuk memasukkan direktori absolut karena perilaku default adalah membuat file log di direktori saat ini. Juga, screensesi (bahkan yang terpisah) tidak dapat bertahan hidup ulang.
Dijeda sampai pemberitahuan lebih lanjut.
2

Opsi 1: Lihatlah perintah skrip. "naskah pria"

"Script membuat skrip segala sesuatu yang dicetak pada terminal Anda. Ini berguna bagi siswa yang membutuhkan catatan hardcopy dari sesi interaktif sebagai bukti tugas, karena file skrip dapat dicetak nanti dengan lpr"

Pada dasarnya ketik "script" (tanpa tanda kutip) - lakukan pekerjaan Anda, dan ketik keluar sekali untuk mengakhiri sesi.

Opsi 2: Gunakan mode "hardcopy" layar. 'Crtl-a' lalu 'h' Ini akan menyimpan sesi saat ini ke file.

Catatan: Layar GNU memang memiliki kemampuan untuk menggulir. Gunakan 'crtl-]' (kurung siku kanan) untuk masuk ke mode salin, lalu 'ctrl-b' dan 'ctrl-f' untuk memindahkan p dan ke bawah halaman sekaligus.

Sirex
sumber
1

Anda akan ingin menggunakan operasi 'log', biasanya terikat Ctrl-a H. Ini membuka file baru yang disebut screenlog. N di mana N adalah nomor jendela. Jika file ada, maka output ditambahkan ke file. Semua output di jendela itu dicatat ke log layar. N file sampai Anda menonaktifkan dengan menekan Ctrl-a Hlagi. Anda juga bisa mendapatkan fungsionalitas ini Ctrl-a :log. Anda dapat mengubah nama menggunakan logfile {filename}perintah. File ditempatkan di direktori di mana layar pertama kali dimulai, tetapi itu bisa diubah dengan perintah logfile atau dengan chdir [{directory}].

Perhatikan bahwa ini tidak sama dengan hardcopy atau buffer gulir. Ini adalah fungsi yang sama dengan program skrip (1), tetapi terikat pada satu jendela dan tanpa memanggil program baru.

Jika Anda ingin menyimpan seluruh isi buffer gulir, gunakan Ctrl-a ] g <space> G <space> Ctrl-a :writebuf Ini menyimpan buffer gulir ke file / tmp / pertukaran layar. jika Anda ingin menyimpan hanya sebagian, maka ubah 'g' dan 'G' ke tombol gerakan lainnya.

Arcege
sumber