Я использую tmux
для управления моими окнами и т. д., и одна из вещей, которые я делаю, это SSH к удаленному серверу и подключение к сеансу tmux, запущенному там. Однако, оказавшись там, я не могу отправить Cb через этот сеанс tmux (тот, который запущен в ssh в моем оригинальном локальном tmux).
Есть ли способ обойти это?
решение1
Нажмите клавишу Ctrl- bодин раз для локального tmux
сеанса и еще раз для удаленного, затем клавишу команды, которую вы хотите использовать в удаленном сеансе.
решение2
Если вы не нанесли на карту Ctrl+ b Ctrl+b
Если вы не сопоставили Ctrl+ b Ctrl+ bс last-window для эмуляции поведения screen (что довольно популярно), то вы можете использовать это как префикс для внутреннего сеанса tmux. Таким образом, чтобы выдавать команды внутреннему сеансу, вы должны использовать Ctrl+ b Ctrl+b Команда
Приведенный выше ответ предполагает, что ваш префиксный ключ по-прежнему Ctrl+ bна обоих компьютерах.
Если вы нанесли на карту Ctrl+ b Ctrl+b
Если вы сопоставили Ctrl+ b Ctrl+ b, то вам нужно будет использовать команду tmux :send-prefix
. Многие сопоставляют это с Ctrl+ b bдля эмуляции поведения screen по умолчанию. Вы должны добавить это в свой .tmux.conf, чтобы добавить эту привязку на постоянной основе:
bind b send-prefix
Затем вы можете отдавать команды внутреннему сеансу, используя Ctrl+b b Команда
(или без привязки с помощью Ctrl+b :send-prefix
Команда)
Приведенный выше ответ предполагает, что ваш префиксный ключ по-прежнему равен Ctrl+ bво внешнем сеансе.
решение3
Короче говоря, вы можете добавить следующую строку в ваш tmux.conf для управления "tmux внутри tmux". Эта строка определяет ваш ключ привязки CTRL+A
для "удалённого" сеанса.
bind-key -n C-a send-prefix
Сочетание клавиш C-a
можно заменить любыми другими свободными клавишами.
Затем вы можете использовать его CTRL+B
для управления сеансом tmux уровня 1 (по умолчанию) и
CTRL+A
для управления вторым сеансом tmux.