Comment basculer entre les écrans à l'intérieur de l'écran?


12

Je dois travailler dans deux environnements. Un Windows (local) et un Linux (distant). J'ai installé l'utilitaire screen linux dans les deux. Je peux ouvrir un écran sur mes fenêtres, puis dans un onglet, j'ai ouvert une connexion ssh à la télécommande linux et je démarre un autre écran.

Échantillon

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

Je peux basculer entre "linux remote 0" et "linux remote 1" en utilisant Atl +. Ceci est configuré dans .screenrc (bindkey "^ [0" sélectionnez 0) Comment pourrais-je passer à "9 fenêtres"?

Réponses:


21

Ah. écran sur écran ... très Inception. Nous devons aller plus loin...

Cela étant dit, vous pouvez envoyer un ctrl-A à un écran imbriqué en faisant Ctrl-AA.


Poétique et précis: que demander de plus à un humble développeur? ;)
Tomislav Nakic-Alfirevic

J'ai trouvé que l'émission Ctrl+A Ane fait que basculer entre la fenêtre intérieure actuelle et la dernière dans la session d'écran intérieure. Comment fait-on un cycle à travers la pile de fenêtres d'écran intérieure entière? À votre santé!
nemesisfixx

7

Ctrl+A, 9ou Ctrl+A, "(c'est un guillemet double), puis sélectionnez-le dans une liste.


1
Voilà comment changer de fenêtre en une seule screensession. La question concerne les sessions d'écran imbriquées.
Keith Thompson

4

Lorsque je lance l'écran dans un autre écran, j'utilise un caractère de commande différent pour chacun.

Plutôt que le ctrl-A par défaut, j'utilise ctrl-espace (le caractère nul, escape ^@^@in .screenrc) pour l'extérieur et ctrl-] ( escape ^]^]in .screenrc) pour l'intérieur.

Si vous ne le faites pas, vous pouvez envoyer un seul caractère de commande à la screensession imbriquée intérieure (ou à toute autre commande exécutée sous screen) en la doublant.


C'est exactement ce que je cherchais - merci!
andersonbd1

Comment puis-je changer le caractère de la commande en .screenrcfonction de la profondeur actuelle?
Scz

1
@Scz: Je ne sais pas. J'ai une session d'écran en cours d'exécution sur mon système domestique (avec escape ^@^@) et une autre session en cours d'exécution sur un autre système (avec escape ^]^]). Il se trouve que j'ai un sshau deuxième système comme l'une des fenêtres du premier.
Keith Thompson,

3

Comme mentionné par rocka84, mais pour la deuxième commande, vous n'avez pas besoin d'appuyer à Ctrlnouveau. Comme pour la création d' un nouvel écran dans le terminal imbriqué que vous devez faire comme ça Ctrl+a, a, c.


1

Vous pouvez soit appuyer sur Ctrl+ a, puis sur Shift+ '(single quote)'et choisir l'écran de votre choix.

Ou vous pouvez appuyer sur Ctrl+ a(double tap)pour revenir à l'écran précédent.


1

Comme mentionné, vous pouvez envoyer Ctrl+Aà l'écran intérieur avec Ctrl+A A. Faites-le simplement deux fois pour changer l'écran intérieur.
Assurez-vous de relâcher Ctrlpour le deuxième (et le quatrième) A

Btw: Cela vaut pour toutes les séquences de contrôle de l'écran intérieur, appuyez juste Ctrl+Aavant toutes les touches et déposez les Ctrltouches de séquence pour. Plus facile à montrer qu'à décrire:
Ctrl+A A Ccrée un nouvel écran intérieur.


0

Vous pouvez utiliser comme ci-dessous

  • pour l'écran suivant et

Ctrl + A n

pour l'écran précédent

Ctrl + A p


0

La réponse de Marc B semblait fonctionner, sauf qu'elle ne faisait que jongler entre la fenêtre actuelle et la dernière de la session d'écran interne. Ce qui suit a permis d'avoir le comportement généralement attendu de l' Ctrl+Aintérieur de la session contenue ...

Ctrl+A A

Et par exemple, lorsque vous parcourez les fenêtres à vélo ...

Ctrl+A A [N,P]

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.