Как переключаться между экраном внутри экрана?

12

Я должен работать в двух средах. Одна Windows (локальная) и одна Linux (удаленная). Я установил утилиту экрана Linux в обоих. Я могу открыть экран в своих окнах, затем на одной вкладке я открыл ssh-соединение с linux remote и запускаю другой экран.

Образец

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

Я могу переключаться между «linux remote 0» и «linux remote 1», используя Atl +. Это настраивается в .screenrc (bindkey "^ [0" выберите 0) Как я могу переключиться на "9 окон"?

Андре Андраде
источник

Ответы:

21

Ах. Экран на экране ... очень Начало. Нам нужно идти глубже ...

При этом вы можете отправить Ctrl-A на вложенный экран, выполнив Ctrl-AA.


источник
Поэтично и точно: чего еще может попросить скромный разработчик? ;)
Томислав Накич-Альфиревич
Я обнаружил, что выдача Ctrl+A Aделает только переключение между текущим и последним внутренним окном в сеансе внутреннего экрана. Как пройти через весь стек внутренних окон? Ура!
nemesisfixx
7

Ctrl+A, 9Или Ctrl+A, "(это двойные кавычки) , а затем выберите его из списка.


источник
1
Вот как переключать окна в одном screenсеансе. Вопрос о вложенных сеансах экрана.
Кит Томпсон
4

Когда я запускаю экран на другом экране, я использую разные символы команды для каждого.

Вместо ctrl-A по умолчанию я использую ctrl-space (нулевой символ, escape ^@^@in .screenrc) для внешнего и ctrl-] ( escape ^]^]in .screenrc) для внутреннего.

Если вы этого не сделаете, вы можете отправить один символ команды во внутренний вложенный screenсеанс (или в любую другую команду, выполняющуюся под ним screen), удвоив его.

Кит Томпсон
источник
Это именно то, что я искал - спасибо!
andersonbd1
Как я могу изменить символ команды в .screenrcзависимости от текущей глубины?
Scz
1
@Scz: я не знаю. У меня есть сеанс экрана, запущенный в моей домашней системе (с escape ^@^@), и другой сеанс, работающий в другой системе (с escape ^]^]). У меня просто есть sshвторая система в качестве одного из окон первого.
Кит Томпсон,
3

Как упомянуто rocka84, но для второй команды вам не нужно нажимать Ctrlснова. Как и для создания нового экрана в гнездовом терминале вам нужно сделать , как это Ctrl+a, a, c.

Rashid
источник
1

Вы можете нажать Ctrl+ a, затем Shift+ '(single quote)'и выбрать нужный экран.

Или вы можете нажать Ctrl+, a(double tap)чтобы вернуться к предыдущему экрану.

ненормальный
источник
1

Как уже упоминалось, вы можете отправить Ctrl+Aна внутренний экран с помощью Ctrl+A A. Просто сделайте это дважды, чтобы переключить внутренний экран.
Обязательно отпустите Ctrlдля второго (и четвертого) A

Btw: Это относится ко всем управляющим последовательностям внутреннего экрана, просто нажмите Ctrl+Aперед всеми Ctrlклавишами и отбросьте клавиши последовательности. Проще показать, чем описать:
Ctrl+A A Cсоздает новый внутренний экран.

rocka84
источник
0

Вы можете использовать как ниже

  • для следующего экрана и

Ctrl + A n

для предыдущего экрана

Ctrl + A p

SuperKrish
источник
0

Казалось, ответ Марка Б. сработал, за исключением того, что он только манипулировал между текущим и последним окном в сеансе внутреннего экрана. Следующее позволило иметь обычно ожидаемое поведение Ctrl+Aвнутри содержащейся сессии ...

Ctrl+A A

И, например, при езде на велосипеде через окна ...

Ctrl+A A [N,P]

nemesisfixx
источник