Sangat tidak mungkin untuk menyimpan sesi layar yang lengkap.
Yang dapat Anda lakukan adalah membuat hak .screenrc
yang akan mengatur beberapa hal setelah Anda me-restart sistem Anda.
Berikut adalah beberapa komentar untuk hal-hal yang Anda daftarkan:
- Jumlah kerang yang dibuka
- Nama setiap shell
- Direktori saat ini dari setiap shell
Saya menggunakan sesuatu seperti ini di saya .screenrc
untuk membuka beberapa shell tertentu pada startup:
## set the default shell
shell zsh
# screens
screen -t 'zsh'
screen -t 'mutt' mutt
screen -t 'zsh' /home/user/bin/scriptToRun
[..]
Anda akan mendapatkan string antara '' sebagai nama jendela Anda dan perintah setelah nama akan dieksekusi pada shell default Anda. Sertakan skrip apa pun yang Anda inginkan, misalnya ubah dalam direktori tertentu dan buka beberapa log.
Pernahkah Anda berpikir untuk membagikan sejarah shell di seluruh sesi Anda? IMHO ini membuat segalanya lebih mudah. Di ZSH dilakukan dengan setopt SHARE_HISTORY
di Anda.zshrc
- Jika memungkinkan, variabel lingkungannya
Jika Anda benar-benar membutuhkan ini dan tidak ingin pertukaran, Anda dapat berpikir tentang skrip shell, yang membaca kondisi layar saat ini, menyimpan jumlah shell, variabel lingkungan, dll. Dan menempatkan informasi ini dalam skrip startup dipanggil oleh Anda .screenrc
. Bagi saya ini tidak akan sepadan dengan usaha karena saya menghargai lingkungan yang bersih setelah reboot, jika saya dapat menyesuaikan windows default untuk layar.
Saya menemukan sebuah proyek bernama screen-session . Ini memungkinkan Anda untuk menyimpan dan memuat kembali sesi Layar GNU sampai batas tertentu.
sumber
Ada alat untuk membekukan keadaan proses yang disebut cryopid . Namun, saat ini tidak berfungsi dengan layar GNU karena tidak mendukung penciptaan kembali hierarki sub-proses. Mereka menyatakan bahwa mereka ingin mencapai ini di masa depan tetapi proyek tersebut tampaknya tidak terlalu aktif saat ini. Meskipun demikian, Anda mungkin ingin melacak kemajuan mereka.
sumber
Saya membangun hal serupa pada solaris tahun yang lalu. Bahkan tidak berhubungan dengan layar; itu terkait sesi. "jika $ TTY = apa pun". echox memiliki ide yang tepat.
tip: jika Anda melakukan ini di beberapa mesin, ketahuilah bahwa setiap mesin layak mendapatkan definisi sendiri tentang apa yang harus dilakukan ketika Anda login di sana, daripada semuanya sama per nfs Anda terpasang / home atau serupa.
HTH, -pbr
sumber