Layar GNU - Kembalikan sesi dengan layar terpisah

9

Ketika saya mengembalikan sesi yang terpecah screen, saya hanya punya satu sesi cetak dan harus mengkonfigurasi ulang jumlah sesi tampilan.

Apakah ada cara lain untuk memiliki screenkonfigurasi asli ?

almorel
sumber

Jawaban:

9

Ini bukan saat mungkin tanpa hack (lihat paragraf berikutnya); Namun, fitur yang diperlukan untuk melakukan ini telah ditambahkan ke pohon git layar saat ini. Dalam versi yang akan datang, perintah "layout save" dan "layout load" akan dapat memuat tidak hanya tata letak terakhir Anda, tetapi juga tata letak bernama lainnya. Saya percaya ada juga dukungan untuk bersepeda melalui tata letak.

Saat ini, triknya adalah menggunakan layar di dalam layar. Semua pekerjaan Anda dan perubahan tata letak dilakukan di layar bagian dalam, tetapi kemudian ketika Anda melepaskan, Anda benar-benar melepaskan dari layar paling luar. Tata letak layar bagian dalam akan dipertahankan. Lihat yang berikut untuk semua detail berpasir:

Ketika saya membagi tampilan dan kemudian melepaskan, layar melupakan pemisahan.

Atau, Anda dapat mencoba mengkompilasi versi terbaru langsung dari pohon sumber layar. Anda dapat melakukan ini dengan menginstal git dan kemudian menjalankan:

git clone git://git.savannah.gnu.org/screen.git

Kemudian, ikuti petunjuk di src / INSTALL. Secara umum, petunjuknya adalah:

  1. ./autogen.sh
  2. ./configure
  3. make

Ada diskusi dalam file INSTALL tentang berbagai masalah di sekitar tempat memasang layar berdasarkan berbagai masalah. Jika Anda menggunakan rute ini, taruhan terbaik Anda adalah membaca semua petunjuk INSTALL dan kemudian lanjutkan.

Steven D
sumber
0

Saya mengalami masalah ini ketika saya menekan kombinasi tombol yang salah secara tidak sengaja, dan semua layar terbagi saya hilang. : ((

Namun, setidaknya ada jalan keluar (bagi saya). Karena saya kebanyakan menggunakan screenbersama-sama dengan xtermdan bashkerang, hal terakhir yang saya ingin miliki adalah meluncurkanbash es lagi . (Mengontrol hal-hal dengan psmengungkapkan bashproses ada di sana, tetapi tidak dapat diakses.)

Jadi cara untuk kembali ke pengaturan saya yang biasa adalah dengan menggunakan Ctrl+ "dan menambahkan satu shell yang sudah berjalan ke setiap jendela split, bersepeda melalui "panel" dengan Ctrl+ aTAB. Jadi saya kembali normal.
Saya memposting ini terutama karena saya menemukan orang-orang yang, dalam frustrasi mereka, hanya menekan Ctrl+ acdan "menginstal ulang" bashes mereka . Tapi ini konyol! Untuk dengan metode itu, Anda akan berakhir dengan mungkin 25 bashproses pada akhir hari, dengan setidaknya 15 di antaranya tidak dapat diakses / tidak terlihat, hanya membuang-buang sumber daya dan CPU tanpa alasan. Jadi kembali menggunakan mereka, bukan kembali menciptakan mereka.

kesalahan sintaks
sumber
apa ctrl "? saya mencobanya, ketika dipasang kembali, ketika menatap satu-satunya yang tersisa "display sesssion", dan tidak melakukan apa-apa, kemudian saya menekan ^a tab, dan itu tidak membawa saya ke yang berikutnya, hanya infact hal-hal yang dilakukannya^a n
Brian Thomas
0

Putty Catatan: Jika Anda menggunakan dempul, juga masuk ke setting terminal dan memeriksa untuk menonaktifkan ukuran ulang dari terminal, menyimpan pengaturan, kemudian meluncurkan.

Anda memiliki beberapa opsi, tergantung yang tampaknya logis untuk pengaturan Anda;

a) Gunakan screen_layout jika Anda memiliki lebih dari versi 4.2 dan screen -X dump layout

b) Gunakan retas jika Anda memiliki ~ 4.0x http://aperiodic.net/screen/faq#when_i_split_the_display_and_then_detach_screen_forgets_the_split

Peretasan ini agak membingungkan karena Anda harus hati-hati memperhatikan bahwa ia menyatakan tidak begitu jelas bahwa Anda harus meluncurkan layar standar terlebih dahulu, sebelum Anda meluncurkan layar dengan pengeditan .screenrc, karena sesi tidak akan menyimpan data seperti itu.

c) Kompilasi dan instal http://savannah.gnu.org/forum/forum.php?forum_id=8293 http://www.linuxfromscratch.org/blfs/view/svn/general/screen.html

d) Menerapkan tambalan bukannya menginstal ulang (lihat di bawah)

e) Pegang biner untuk distro Anda, dan letakkan di jalur Anda, sehingga akan menimpa default sistem.

hth, karena saya tahu satu opsi tidak pernah cukup.

Mengenai d) di atas, saya tidak dapat menemukan tambalan lagi, jadi sakitkan sertakan di sini.

diff --git a/src/doc/screen.texinfo b/src/doc/screen.texinfo
index 6142de0..6fc8f9e 100644
--- a/src/doc/screen.texinfo
+++ b/src/doc/screen.texinfo
@@ -1040,6 +1040,8 @@ Show or set which layout to reattach to.  @xref{Layout}.
 Remember the organization of a layout.  @xref{Layout}.
 @item layout autosave [@var{on}|@var{off}]
 Show or set the status of layout saving.  @xref{Layout}.
+@item layout dump [filename]
+Save the layout arrangement to a file.  @xref{Layout}.
 @item license
 Display licensing information.  @xref{Startup}.
 @item lockscreen
@@ -2107,7 +2109,10 @@ the layout to reattach to will be shown in the message line.
 Remember the current arrangement of regions. When used, @code{screen}
 will remember the arrangement of vertically and horizontally split
 regions. This arrangement is restored when a @code{screen} session
-is reattached or switched back from a different layout. If a number
+is reattached or switched back from a different layout. If the 
+session ends or the @code{screen} process dies, the layout
+arrangements are lost. The @code{layout dump} command should help
+in this siutation. If a number
 or title is supplied, @code{screen} will remember the arrangement of
 that particular layout. Without any options, @code{screen} will
 remember the current layout.
@@ -2129,6 +2134,21 @@ a single window. Without either an @code{on} or an @code{off}, the
 current status is displayed on the message line.
 @end deffn

+@deffn Command layout @code{dump} [filename]
+(none)@*
+Write to a file the order of splits made in the current layout. This 
+is useful to recreate the order of your regions used in your current
+layout. Only the current layout is recorded. While the order of the
+regions are recorded, the sizes of those regions and which windows
+correspond to which regions are not. If no filename is specified,
+the default is @file{layout-dump}, saved in the directory that the
+@code{screen} process was started in. If the file already exists,
+@code{layout dump} will append to that file. As an example:
+@example
+layout dump /home/user/.screenrc
+@end example
+will save or append the layout to the user's @file{.screenrc} file.
+@end deffn

 @node Window Settings, Virtual Terminal, Regions, Top
 @chapter Window Settings
Brian Thomas
sumber