tela GNU - Restaurar uma sessão com tela dividida

7

Quando eu 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 configuração original de screen ?

    
por almorel 13.09.2010 / 16:46

3 respostas

8

Isto não é atualmente possível sem um hack (veja o próximo parágrafo); no entanto, os recursos necessários para fazer isso já foram adicionados à árvore de git atual da tela. Em versões futuras, os comandos "layout save" e "layout load" poderão carregar não apenas o último layout, mas outros layouts nomeados. Eu acredito que também há suporte para percorrer os layouts.

Atualmente, o truque é usar uma tela dentro de uma tela. Todas as alterações no seu trabalho e layout são feitas na tela interna, mas quando você se desconecta, você realmente se desconecta da tela mais externa. O layout da tela interna será preservado. Veja o seguinte para todos os detalhes:

Quando divido a tela e depois 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 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 INSTALL 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 INSTALL e prosseguir.

    
por 13.09.2010 / 17:48
0

Eu encontrei este problema quando pressionei acidentalmente uma combinação errada de teclas e todas as telas divididas foram removidas. : ((

No entanto, havia uma saída (humilde) para mim, pelo menos. Como eu uso principalmente screen junto com xterm e bash shells, a última coisa que eu queria é lançar mais bash es. (Controlar coisas com ps revelou que os bash processos estavam lá, mas não acessíveis.)

Assim, 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 Ctrl + a TAB . Então eu voltei ao normal.
Estou postando isso especialmente porque eu me deparei com pessoas que, em sua frustração, apenas pressionavam Ctrl + a c e "re- instalado "seus bash es. Mas isso é bobagem! Para com esse método, você vai acabar com talvez 25 bash processos no final do dia, com pelo menos 15 deles inacessíveis / invisíveis, apenas desperdiçando recursos e CPU sem motivo. Então use eles, ao invés de re criar eles.

    
por 09.12.2014 / 13:50
0

Putty nota: Se você estiver usando o putty, vá também às configurações do terminal e marque para desativar o tamanho do terminal, salve as configurações e, em seguida, reinicie.

Você tem algumas opções, dependendo do que parece lógico para sua configuração;

a) Use screen_layout se você tiver a versão 4.2 e screen -X dump layout

b) Use o hack se tiver ~ 4,0x link

Esse hack é um pouco confuso, pois você tem que notar cuidadosamente que ele afirma não tão claramente que você precisa iniciar uma tela padrão primeiro, antes de iniciar uma tela com as edições .screenrc, porque as sessões não armazenam dados Curtiu isso.

c) Compile e faça a instalação link link

d) Aplique o patch em vez de reinstalar (veja abaixo)

e) Obtenha o binário para sua distro e coloque-o em seu caminho, para que ele substitua o padrão do sistema.

hth, porque eu sei que uma opção nunca é suficiente.

Em relação a d) acima, eu não consegui encontrar o patch mais, então mal 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
    
por 19.03.2016 / 04:34

Tags