Bagaimana menjaga agar windows terbelah setelah melepaskan / memasang kembali layar GNU

35

Saya menggunakan layar di server Ubuntu.

Saya memiliki layar saya dibagi dalam empat wilayah yang masing-masing menunjukkan jendela yang berbeda.

Masalahnya adalah ketika saya melepaskan (atau mungkin memasang kembali) sebuah mendapatkan empat jendela tetapi hanya satu wilayah dan saya harus membuat C-a Ssemuanya lagi?

Bagaimana saya bisa menjaga layar saya pecah ketika memasang kembali?

Cesar
sumber

Jawaban:

15

Dari layar FAQ :

(Pertanyaan yang tersirat adalah, "Bagaimana cara menjaga jendela split saya pada detach?")

Jawaban singkatnya adalah Anda tidak bisa. Jawaban yang lebih panjang adalah Anda bisa memalsukannya.

Split adalah properti dari tampilan Anda. Proses mengelola sesi layar Anda tidak benar-benar tahu tentang mereka; hanya proses tunggal yang menampilkan sesi. Dengan demikian, sesi layar tidak dapat mengingat perpecahan karena tidak tahu tentang mereka, dan begitu Anda melepaskan, proses yang tahu tentang mereka telah keluar.

Peretasan ini menggunakan sesi layar bersarang. Mulailah satu sesi dan berikan beberapa urutan pelarian yang tidak akan Anda gunakan terlalu banyak (atau cukup nonaktifkan karakter pelariannya sepenuhnya). Bind urutan urutan lepaskan Anda yang biasa ke sesi layar ini. Sekarang, mulai atau lampirkan ke sesi layar utama Anda. Semua pekerjaan Anda akan dilakukan di sesi dalam, dan Anda dapat membagi tampilan Anda. Ketika Anda melepaskan, bagaimanapun, itu akan menjadi sesi luar yang terlepas, sehingga perpecahan Anda di sesi dalam akan dipertahankan.

Dengan asumsi Anda menggunakan karakter escape standar, Ca, screenrc alternatif Anda harus berisi:

escape ""
bindkey ^ad detach
Aula Darren
sumber
1
Setelah menghabiskan satu atau dua tahun terakhir mengkonfigurasi dan banyak menggunakan sesi layar bersarang, saya merekomendasikannya. Seiring waktu, rasa sakit dari kompleksitas yang ditambahkan berkurang, sementara kegunaan pengaturan yang lebih fleksibel meningkat.
funroll
13
Fitur baru, yaitu layout, membatalkan jawaban ini!
Kadir
Lihat superuser.com/a/516822/113250 untuk fitur tata letak
bawaan
67

Saya menemukan bahwa jika Anda sudah memiliki beberapa pengaturan windows dan Anda ingin menyimpannya, Anda dapat melakukan ini:

Ctrl-a
:
layout save default

Kemudian ketika Anda melepaskan dan melampirkan kembali sesi, tata letak harus dikembalikan.

Bekerja dengan versi Layar 4.00.03jw4 (FAU) 2-Mei-06 (Ubuntu 12.04 & 12.10)

Anda juga mungkin ingin membuat sesi deamon:

$> screen -dmSU mysession

dan kemudian selalu tersedia dengan menelepon:

$> screen -r mysession
Troy
sumber
5
Solusi yang jauh lebih baik. Ini harus menjadi jawaban yang diterima. (Saya tahu mengapa saya selalu menggulir ke bawah XD)
BrainStone
1
Sayangnya sepertinya versi saat ini di redhat screen 4.00.03 (FAU) 23-Oct-06tidak memiliki fitur ini. Tetapi seharusnya!
David Dombrowsky
Ini adalah jawaban yang lebih baik, tetapi ada jawaban yang lebih baik di bawah ini yang secara otomatis menyimpan tata letak setiap kali menggunakan .screenrc.
Suara positif
14

Dalam versi git, fitur baru layoutdiperkenalkan.

dari layar (1):

tata letak baru [judul]

Buat tata letak baru. Layar akan berubah menjadi satu seluruh wilayah dan dialihkan ke jendela kosong. Dari sini, Anda membangun daerah dan jendela yang ditampilkan sesuai keinginan Anda. Tata letak baru akan diberi nomor dengan bilangan bulat terkecil yang tersedia, dimulai dengan nol. Anda dapat memberi judul untuk tata letak baru Anda secara opsional. Kalau tidak, itu akan memiliki judul "tata letak" default. Anda selalu dapat mengubah judul nanti dengan menggunakan judul tata letak perintah.

bahkan jika Anda memisahkan sesi layar, tata letak telah mengingat bagaimana wilayah itu dibagi.

misalnya, layar mulai dengan ikuti konfigurasi.

layout new
split
split -v
screen 0
focus next
screen 1
focus bottom
screen 2
detach

Dan pasang kembali sesi ini, Anda akan dapat kembali ke tata letak (pilihan terakhir) yang memiliki 3 wilayah terpisah.

yoshikaw
sumber
ada yang tahu kiriman apa yang diperlukan untuk mendapatkan ini (saya cukup kutu buku untuk menerapkan tambalan tetapi saya tidak akan pernah menjalankan kode trunk (punya karma buruk: P))
borrel
7

Cukup tambahkan baris ini ke ~/.screenrc:

# This line makes Detach and Re-attach without losing the regions/windows layout
layout save default
Rafael Quirino Castro
sumber
6

Tampaknya tmux tidak. Ini adalah proyek multiplexer baru, terinspirasi oleh layar, tetapi dikodekan dari awal dan di bawah lisensi BSD.

(Maaf jika bahasa Inggris saya tidak nyaman untuk dibaca: - °)

Pantoufle
sumber
-1

Saya telah membaca seluruh layar pria baru-baru ini, dan tidak ada cara umum untuk melakukannya jika layar itu sendiri tidak dapat mengingatnya secara otomatis.

kolypto
sumber