Como alternar entre tela dentro da tela?

12

Eu tenho que trabalhar dentro de dois ambientes. Um Windows (local) e um Linux (remoto). Eu instalei o utilitário linux da tela em ambos. Sou capaz de abrir uma tela no meu windows e, em uma guia, abri uma conexão ssh com o controle remoto linux e inicio outra tela.

Amostra

linux  -- |0 linux remote 0| 1 linux remote 1 
windows-- |0 linux | 9 windows 

Eu posso alternar entre "linux remote 0" e "linux remote 1" usando Atl +. Isso está configurado em .screenrc (bindkey "^ [0", selecione 0) Como eu poderia mudar para "9 janelas"?

André Andrade
fonte

Respostas:

21

Ah screen-in-screen ... muito início. Precisamos ir mais fundo ...

Dito isto, você pode enviar um ctrl-A para uma tela aninhada fazendo isso Ctrl-AA.


fonte
Poético e preciso: o que mais um humilde desenvolvedor pode pedir? ;)
Tomislav Nakic-Alfirevic
Descobri que a emissão Ctrl+A Aapenas alterna entre a atual e a última janela interna na sessão da tela interna. Como se percorre toda a pilha da janela interna da tela? Felicidades!
Nemesisfixx 22/03/19
7

Ctrl+A, 9ou Ctrl+A, "(aspas duplas) e selecione-o em uma lista.


fonte
1
É assim que se muda o Windows em uma única screensessão. A questão é sobre sessões de tela aninhadas.
Keith Thompson
4

Quando executo a tela em outra tela, uso um caractere de comando diferente para cada um.

Em vez do ctrl-A padrão, utilizo ctrl-space (o caractere nulo, escape ^@^@in .screenrc) para o externo e ctrl-] ( escape ^]^]in .screenrc) para o interno.

Se você não fizer isso, poderá enviar um único caractere de comando para a screensessão aninhada interna (ou para qualquer outro comando em execução screen), dobrando-o.

Keith Thompson
fonte
Era exatamente isso que eu procurava - obrigado!
perfil
Como posso alterar o caractere de comando .screenrcdependendo da profundidade atual?
Scz 28/05
1
@ SCZ: Eu não sei. Tenho uma sessão de tela em execução no meu sistema doméstico (com escape ^@^@) e outra sessão em execução em outro sistema (com escape ^]^]). Por acaso, tenho um sshpara o segundo sistema como uma das janelas no primeiro.
28515 Keith Thompson
3

Como mencionado por rocka84, mas para o segundo comando, você não precisa pressionar Ctrlnovamente. Como para a criação de uma nova tela no terminal de nested que você precisa fazer como este Ctrl+a, a, c.

rashid
fonte
1

Você pode pressionar Ctrl+ a, seguido de Shift+ '(single quote)'e escolher a tela que deseja.

Ou você pode pressionar Ctrl+ a(double tap)para retornar à tela anterior.

insano
fonte
1

Como mencionado, você pode enviar Ctrl+Apara a tela interna com Ctrl+A A. Faça isso duas vezes para alternar a tela interna.
Certifique-se de liberar Ctrlpara o segundo (e adiante) A

Btw: Isso vale para todas as seqüências de controle da tela interna, basta pressionar Ctrl+Aantes de todas as teclas e soltar as Ctrlteclas de sequência. Mais fácil de mostrar do que descrever:
Ctrl+A A Ccria uma nova tela interna.

rocka84
fonte
0

Você pode usar como abaixo

  • para a próxima tela e

Ctrl + A n

para tela anterior

Ctrl + A p

SuperKrish
fonte
0

A resposta de Marc B parecia funcionar, exceto que ela apenas fazia malabarismos entre a atual e a última janela na sessão da tela interna. O seguinte permitiu ter o comportamento geralmente esperadoCtrl+A dentro da sessão contida ...

Ctrl+A A

E, por exemplo, ao andar de bicicleta pelas janelas ...

Ctrl+A A [N,P]

nemesisfixx
fonte