Выход из внешнего сеанса tmux при обнаружении вложенности

Выход из внешнего сеанса tmux при обнаружении вложенности

Я использую ssh для подключения к удаленному серверу. На локальной и удаленной машине tmux запускается автоматически при запуске bash.

Есть ли способ отключить tmux на локальной машине перед запуском сеанса tmux на удаленной?

Обновлять

Не все мои удаленные машины запускают tmux. Мне нужен этот трюк только для тех, которые запустились, т.е. я хотел бы сохранить сессию tmux на локальной машине, если удаленная машина не запустит ее.

решение1

Вы можете создать скрипт, который использует detach -E для отключения и запуска ssh, что-то вроде:

#!/bin/sh

if [ -n "$TMUX" ]; do
   tmux detach -E "ssh \"$@\""
else
   ssh "$@"
fi

Вы можете запустить его напрямую или использовать псевдоним ssh.

Обратите внимание, что это не сработает, если вы хотите передать аргументы флагов в ssh.

Связанный контент