Что я хочу

Я пытаюсь автоматизировать подключение к удаленной машине в нескольких отдельных ssh-терминалах и иметь независимые сеансы tmux для каждого удаленного терминала, используя одни и те же окна (то есть могу изменять настройки сеанса и активное окно / панель, не затрагивая другие удаленные терминалы, но при этом доступ к тем же окнам tmux).

Я хочу сделать это без изменения первоначального запуска исполняемого файла tmux и полностью для каждого пользователя (все изменения ограничены /home/$USER/).

Как я пытаюсь это сделать

Ubuntu 16.04 TMUX 2.1 (from package manager)

Я использую порт MS ssh (OpenSSH) в моей локальной системе (Windows 10).

В настоящее время, когда я открываю удаленный терминал (или локальный терминал в этом отношении), tmux запускается через ~/.zprofile и создает совершенно новый сеанс. У меня есть файл ~/.tmux.conf со следующей строкой:

#(this is a single line in my .tmux.conf, I've broken it up here for readability)

if-shell 'tmux has-session -t theonering' \
    'new-session -t theonering'           \
    'rename-session theonering'

Я также устанавливаю команду « destroy-unattached on уровне сеанса во второй строке, но здесь я оставил это для ясности. Это не меняет результат.

Чего я ожидаю?

Насколько я понимаю, это говорит о том, что «если из оболочки tmux сообщает, что имеет сеанс с именем theonering то создайте новый (безымянный) сеанс и сгруппируйте его с theonering . Если tmux не имеет сеанса с именем theonering переименованного текущая сессия для theonering «.

Что на самом деле происходит

Теперь, если я подключусь удаленно, отсоединюсь от существующего сеанса, затем запустим указанную выше команду (очевидно, с префиксом tmux )? Работает отлично.

Но если я положу это в мой ~/.tmux.conf? bupkiss. Это так же, как если бы линия не была там вообще. Нет ошибок, нет сообщений, нет отклонений от поведения на складе.

0