Я имею ...

if ["$ TMUX" = ""]; затем tmux; фи

... в моем .zshrc, который прекрасно работает для соединений SSH.

Однако у меня проблемы с Terminal.app.

Когда я набираю exit, tmux закрывается, но я остаюсь в открытом окне с надписью [exited].

Я должен напечатать выход снова, чтобы закрыть окно.

Как мне вызвать tmux в Terminal.app, чтобы не вводить команду exit дважды?

2 ответа2

1

То, как вы сейчас это делаете, вам нужно выйти снова, потому что вы запускаете tmux как дочерний процесс оболочки.

IIRC, вам нужно заменить текущий процесс оболочки через exec , например, так:

if [ "$TMUX" = "" ]; then exec tmux; fi

0

Для кого-то, кто наткнулся на это в будущем - как я это сделал, было следующим:

  1. Запустить Terminal.app
  2. Открыть настройки
  3. Зайдите в "Профиль" -> "Оболочка"
  4. В разделе "Пуск" выберите "Выполнить команду" и введите exec tmux (убедитесь, что выбран запуск в собственной оболочке)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .