Как отсоединить сеанс 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 замедляет процесс прерывания с помощью Ctrl-C
  • Конфигурация tmux зависит от ОС
  • Tmux - любой способ включить прокрутку, но не выбор?
  • Использовать панель прокрутки терминала с помощью tmux
  • Tmux и выбор текста с помощью мыши с помощью шпатлевки
  • Переименовать имя окна tmux в prompt_command, ps1 или удаленное имя ssh?
  • Как я могу искать в выходном буфере оболочки tmux?
  • Запуск nicklist с irssi с использованием экрана внутри tmux?
  • Copy-paste не работает в MacVim при запуске в tmux
  • Как получить tmux для открытия набора панелей без ввода вручную?
  • Как выбрать целые слова в режиме мыши Tmux?
  • Как выполнить команду очистки на сервере tmux / сеансе?
  • Interesting Posts
    Давайте будем гением компьютера.