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?

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

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

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.


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

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: - °)


-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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.