Я хотел бы знать, есть ли способ заставить tmux
себя вести себя так, screen -D -R
чтобы я мог сказать, иметь команду в качестве команды по умолчанию в Putty.
Эти screen
переключатели будут принудительно отключать существующий сеанс экрана для моего пользователя (даже если он все еще был активен и вошел в систему где-то еще) и подключить его к текущему сеансу. Кроме того, в случае отсутствия сеанса экрана будет создан новый сеанс.
Мне нравится tmux, и я вижу явные преимущества перед экраном, но наличие этой функции действительно может заключить сделку.
tmux attach
не создается новая сессия, если ее нет.
Страница man для tmux гласит:
Если сервер не запущен, attach-session (attach) попытается запустить его; это не удастся, если сеансы не будут созданы в файле конфигурации.
Что означает раздел, выделенный жирным шрифтом? (Я не могу найти пример создания сеанса в файле conf).
источник
tmux
команд , которые выполняются в последовательности , когда сервер запускается в первый раз. » - вы могли бы на самом деле есть ,attach
илиnew-session
в виде линии в вашей.tmux.conf
.new-session
равно бы это случилось ...Ответы:
Да:
$ tmux attach -d || tmux new
-d
нужно вести себя какscreen -D
то есть, т.е. отстранять всех остальных.Подключиться по ssh, затем присоединить или создать может быть что-то вроде:
источник
new-session
одобряю конфигурационный файл на тот случай, если вы захотите отредактировать его и перезагрузить во время сеанса tmux.Чтобы
tmux attach
создать новый сеанс, когда его нет, используйте опциюnew-session
в файле конфигурации tmux. Создайте файл,~/.tmux.conf
если он не существует, и добавьтек этому. Кроме того , я псевдоним
tmux
дляtmux attach
:)источник
new-session
в~/.tmux.conf
потому , что если я перезагрузить конфигурацию , используя командуsource-file ~/.tmux.conf
(см это ) новая сессия будет запущена. Да, я могу убить его, а затем присоединить к предыдущему, но это немного раздражает.Вы можете эмулировать это с помощью функции оболочки, это должно работать для любой POSIX-совместимой оболочки:
Теперь, если вы запустите его как
tmux -z
, он должен выполнить действия, которые вы ищете.источник
этот работает немного лучше для меня:
источник
Я считаю, что это лучше всего работает для меня на .bashrc
источник
Если вы используете это в файле .shrc или аналогичном,
exec
я бы порекомендовалисточник