Risposte:
Questo non è attualmente possibile senza un hack (vedere il prossimo paragrafo); tuttavia, le funzionalità richieste per farlo sono già state aggiunte all'attuale git tree dello schermo. Nelle versioni future, i comandi "salvataggio layout" e "caricamento layout" saranno in grado di caricare non solo l'ultimo layout, ma anche altri layout con nome. Credo che ci sia anche il supporto per scorrere i layout.
Attualmente, il trucco è utilizzare uno schermo all'interno di uno schermo. Tutte le modifiche al layout e al lavoro vengono eseguite nella schermata interna, ma quando si stacca, in realtà si stacca dalla schermata più esterna. Il layout dello schermo interno verrà preservato. Vedi quanto segue per tutti i dettagli grintosi:
Quando divido il display e quindi lo stacco, lo schermo dimentica la divisione.
In alternativa, puoi provare a compilare l'ultima versione direttamente dall'albero dei sorgenti dello schermo. Puoi farlo installando git e quindi eseguendo:
git clone git://git.savannah.gnu.org/screen.git
Quindi, seguire le indicazioni in src / INSTALL. In generale, le indicazioni sono:
./autogen.sh
./configure
make
C'è una discussione nel file INSTALL su vari problemi che circondano dove installare la schermata in base a vari problemi. Se segui questo percorso, la soluzione migliore è leggere tutte le indicazioni di INSTALLAZIONE e procedere.
Ho riscontrato questo problema quando ho premuto accidentalmente una combinazione di tasti sbagliata e tutti i miei schermi divisi erano spariti. : ((
Comunque, almeno per me c'era una (umile) via d'uscita. Dal momento che uso principalmente screen
insieme a xterm
e bash
shell, l'ultima cosa che volevo avere è lanciare più bash
es. (Il controllo delle cose ha ps
rivelato che i bash
processi erano lì, ma non accessibili.)
Quindi il modo per tornare alla mia solita configurazione era usare Ctrl+ "e aggiungere una shell già in esecuzione a ciascuna finestra divisa, scorrendo i "riquadri" con Ctrl+ aTAB. Quindi ho riportato le cose alla normalità.
Sto pubblicando questo soprattutto perché ho incontrato persone che, nella loro frustrazione, hanno appena premuto Ctrl+ ace "reinstallato" il loro bash
es. Ma questo è stupido! Perché con quel metodo, bash
alla fine della giornata finirai con forse 25 processi, con almeno 15 di essi inaccessibili / invisibili, sprecando risorse e CPU senza motivo. Quindi ri usare loro, invece di ri creare loro.
Nota sullo stucco : se usi lo stucco, vai anche alle impostazioni del terminale e controlla per disabilitare le dimensioni del terminale, salva le impostazioni e riavvia.
Hai alcune opzioni, a seconda di quale sembra logico per la tua configurazione;
a) Utilizzare screen_layout se si dispone della versione 4.2 e screen -X dump layout
b) Usa l'hack se hai ~ 4.0x http://aperiodic.net/screen/faq#when_i_split_the_display_and_then_detach_screen_forgets_the_split
Questo trucco è un po 'confuso in quanto devi notare attentamente che afferma non molto chiaramente che devi prima avviare una schermata standard, prima di lanciare una schermata con le modifiche .screenrc, perché le sessioni non contengono dati del genere.
c) Compilare e fare installare http://savannah.gnu.org/forum/forum.php?forum_id=8293 http://www.linuxfromscratch.org/blfs/view/svn/general/screen.html
d) Applicare la patch anziché reinstallarla (vedere di seguito)
e) Ottieni il binario per la tua distribuzione e posizionalo sul tuo percorso, in modo che sovrascriva quello predefinito del sistema.
quindi, perché so che un'opzione non è mai abbastanza.
Riguardo a d) sopra, non sono più riuscito a trovare la patch, quindi la includerò qui.
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
ctrl "
? l'ho provato, quando riattaccato, mentre fissavo l'unico "display sesssion" rimasto, e non fa nulla, poi ho premuto^a tab
, e quello non mi ha portato al prossimo, infatti solo le cose che fanno è^a n