Как отсоединить сеанс tmux, который уже есть в tmux?

Я открыл сеанс tmux на своей локальной машине и ssh на удаленную машину. После этого я набрал команду «tmux attach» на удаленном компьютере, затем я получил сеанс удаленного tmux на моем локальном сеансе tmux.
Теперь я хочу отсоединить удаленный tmux sesstion, я пробовал «Cb d», но он отключил мой локальный сеанс tmux, а не удаленный.

Как отключить удаленное tmux sesstion?

3 Solutions collect form web for “Как отсоединить сеанс tmux, который уже есть в tmux?”

Cb Cb d 

(Предполагая привязки по умолчанию)

Первый Cb интерпретируется вашим локальным tmux (потому что он первым видит все ваши нажатия клавиш). Вторая Cb – это команда, которая заставляет ваш локальный tmux отправлять Cb в свою активную панель; Этот сгенерированный Cb поступает на удаленный tmux . D проходит через локальное tmux без изменений; Когда он добирается до удаленного tmux, он вызывает команду detach .

  1. Вы вводите Cb .
    Ваш локальный tmux интерпретирует его как префиксный ключ; Ничто не отправляется в процессы, запущенные под локальным tmux .
  2. Вы вводите Cb .
    Ваш локальный tmux связан с командой send-prefix .
    1. Ваш локальный tmux отправляет Cb в процесс, запущенный на активной панели ( ssh ).
    2. Ssh направляет его (через sshd и т. Д.) В процесс, выполняющийся на удаленном конце (удаленный tmux ).
      Ваш удаленный tmux интерпретирует его как префиксный ключ; Ничто не отправляется в процессы, запущенные под удаленным tmux .
  3. Вы вводите d .
    Ваш локальный tmux проходит его нормально (поскольку второй Cb завершил полную последовательность командных клавиш для локального tmux ).
    Ваш удаленный tmux связан с detach-client ; Он отделяет активный клиент.

Это то же самое, что когда вам нужно отправить Cb на любую программу, запущенную внутри сеанса tmux . Если вы хотите отправить Cb в свою обычную оболочку (например, потому что ваша оболочка использует редактирование в стиле Emacs, где Cbbackward-char (и вам не нравится использование клавиш со стрелками)), вам нужно будет использовать Cb Cb, чтобы получить один Cb для Оболочка.

Другой способ сделать это, не беспокоясь о привязке клавиш к правильному экземпляру tmux, – это ввести tmux detach в сеансе удаленного tmux.

Я пробовал первый ответ без успеха.

Я смог получить результаты, которые я хотел, выполнив следующие действия:

tmux attach

Я вошел в tmux и увидел, что другая сессия все еще была прикреплена

Поэтому я отключил текущий сеанс, чтобы вернуться в оболочку: Ctrl + b; d Ctrl + b; d

Затем я выпустил следующее: tmux attach -d

Это говорит о том, чтобы присоединить к сеансу по умолчанию и отключить все остальные сеансы, которые в настоящее время подключены. См. Справочную страницу в разделе « Клиенты и сеансы»

Attach -session [-dr] [-t target-session] (псевдоним: attach) Если вы запускаете извне tmux, создайте новый клиент в текущем терминале и присоедините его к целевому сеансу. Если используется внутри, переключите текущего клиента. Если указано значение -d, любые другие клиенты, прикрепленные к сеансу, будут отсоединены. -r означает, что клиент доступен только для чтения (только клавиши, привязанные к команде detach-client, имеют какой-либо эффект)

  • Использовать панель прокрутки терминала с помощью tmux
  • Copy-paste не работает в MacVim при запуске в tmux
  • Tmux замедляет процесс прерывания с помощью Ctrl-C
  • Тайм-аут ключа ssh-agent с экраном или tmux на бастионном хосте
  • Как войти в режим копирования на прокрутке мыши в tmux?
  • Невозможно изменить размер разделов vim внутри tmux
  • Возможно ли создать ssh-агент для нового сеанса tmux?
  • Отключить строку состояния в tmux?
  • Как выполнить команду очистки на сервере tmux / сеансе?
  • Передайте текущую команду на съемный сеанс (tmux / screen)
  • Как работает цветовая палитра tmux?
  • Давайте будем гением компьютера.