Respostas:
Este não é actualmente possível sem um hack (veja o próximo parágrafo); no entanto, os recursos necessários para isso já foram adicionados à árvore git atual da tela. Nas versões futuras, os comandos "layout save" e "layout load" poderão carregar não apenas seu último layout, mas outros layouts nomeados. Acredito que também haja suporte para percorrer os layouts.
Atualmente, o truque é usar uma tela dentro de uma tela. Todas as suas alterações de trabalho e layout são feitas na tela interna, mas quando você se desanexa, você se desanexa da tela mais externa. O layout da tela interna será preservado. Veja o seguinte para todos os detalhes:
Quando divido a tela e desanexo, a tela esquece a divisão.
Como alternativa, você pode tentar compilar a versão mais recente diretamente da árvore de fontes da tela. Você pode fazer isso instalando o git e executando:
git clone git://git.savannah.gnu.org/screen.git
Em seguida, siga as instruções em src / INSTALL. Em geral, as instruções são:
./autogen.sh
./configure
make
Há uma discussão no arquivo INSTALAR sobre vários problemas em torno de onde instalar a tela com base em várias preocupações. Se você seguir esse caminho, sua melhor aposta é ler todas as instruções de INSTALAÇÃO e prosseguir.
Eu me deparei com esse problema ao pressionar uma combinação errada de teclas por acidente, e todas as minhas telas divididas se foram. : ((
No entanto, havia uma (humilde) saída para mim, pelo menos. Como eu geralmente uso screen
junto com xterm
e bash
conchas, a última coisa que eu queria era lançar mais bash
es. (Controlar as coisas com ps
revelado os bash
processos estavam lá, mas não acessíveis.)
Portanto, a maneira de voltar à minha configuração usual era usar Ctrl+ "e adicionar um shell já em execução a cada janela dividida, percorrendo os "painéis" com o Ctrl+ aTAB. Então, voltei ao normal.
Estou postando isso especialmente porque me deparei com pessoas que, frustradas, pressionaram Ctrl+ ace "reinstalaram" suas bash
es. Mas isso é bobagem! Com esse método, você terminará com talvez 25 bash
processos no final do dia, com pelo menos 15 deles inacessíveis / invisíveis, desperdiçando recursos e CPU sem motivo. Então re usar -los, em vez de re criando -los.
Nota do Putty : Se você estiver usando o Putty , também vá para as configurações do terminal e marque para desativar o tamanho real do terminal, salve as configurações e reinicie.
Você tem algumas opções, dependendo do que parecer lógico para sua configuração;
a) Use screen_layout se você possui a versão 4.2 e screen -X dump layout
b) Use o hack se você tiver ~ 4.0x http://aperiodic.net/screen/faq#when_i_split_the_display_and_then_detach_screen_forgets_the_split
Esse hack é um pouco confuso, pois você precisa observar com atenção que não é tão claro que é necessário iniciar uma tela padrão primeiro, antes de iniciar uma tela com as edições .screenrc, porque as sessões não contêm dados como esse.
c) Compile e faça a instalação http://savannah.gnu.org/forum/forum.php?forum_id=8293 http://www.linuxfromscratch.org/blfs/view/svn/general/screen.html
d) Aplique o patch em vez de reinstalar (veja abaixo)
e) Encontre o binário da sua distribuição e coloque-o no seu caminho, para que ele substitua o padrão do sistema.
hth, porque eu sei que uma opção nunca é suficiente.
Em relação ao item d) acima, não consegui mais encontrar o patch, então incluí-lo aqui.
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 "
? Eu tentei, quando reconectado, ao olhar para a única "sessão de exibição" restante, e ela não faz nada, então eu pressionei^a tab
, e isso não me levou a seguir, de fato, apenas o que faz é^a n