Tela GNU - Restaurar uma sessão com tela dividida

9

Quando restauro uma sessão dividida de screen, tenho apenas uma sessão de impressão e preciso reconfigurar o número de sessões de exibição.

Existe outra maneira de ter a screenconfiguração original ?

almorel
fonte

Respostas:

9

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:

  1. ./autogen.sh
  2. ./configure
  3. 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.

Steven D
fonte
0

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 screenjunto com xterme bashconchas, a última coisa que eu queria era lançar mais bashes. (Controlar as coisas com psrevelado os bashprocessos 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 bashes. Mas isso é bobagem! Com esse método, você terminará com talvez 25 bashprocessos 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.

erro de sintaxe
fonte
o que é 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
Brian Thomas
0

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
Brian Thomas
fonte