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"?

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.


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.


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.


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.


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.


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.


0

Você pode usar como abaixo

  • para a próxima tela e

Ctrl + A n

para tela anterior

Ctrl + A p


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]

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.