Похожие вопросы

Bash-хранение значения ключа в переменных, объявленных в ассоциативном массиве
Использование Anaconda python в качестве оболочки python - csh по умолчанию
Как фильтровать вывод команды в OS X
Правильный метод использования nohup в пакетном процессе
Проблемы редактирования файлов с nano в Bash / Windows 10
Как установить ComixCursors (или другие темы X-cursor) в Ubuntu с помощью сценария оболочки?
Как распечатать команду bash history и добавить ее в файл?
утилита командной строки для записи с микрофона
Bash скрипты не работают, но на Mac терминала эти команды в скриптах работает
Как остановить в Git-Bash, то ждать окончания?
Putty: войдите в систему, выполните команду / измените переменную среды и не закрывайте сеанс
Простое использование tail & grep. Несколько условий
Как я негативно рисунок в файл bash-скрипт?
Incron не выполнять скрипт, но хрон будет, отказано
bash:/home/пользователь/.bashrc: отказано в разрешении при попытке изменить пользователя с root на user

В tmux я могу получить " exit` для выхода из содержащего окна терминала, а не из самого сеанса?

поэтому, когда я открываю новый терминал (я использую terminator на Arch Linux), у меня он настроен на открытие нового tmux сеанс, если он не существует, или присоединить к существующему. Когда я печатаю exit в командной строке он завершает сеанс tmux. Я должен набрать exit снова выйти из терминала. Что я хочу, так это печатать exit один раз выйдет из терминала, но оставьте tmux работает, поэтому в следующий раз, когда я открою терминал, он снова присоединится к предыдущему tmux сессии. Существенно, это эквивалентно нажатию кнопки exit для менеджера окон, но мне нужна эта функциональность при вводе exit.

EDIT:

это что-то вроде того, что я хочу:

alias exit='if [[ $TMUX = "" ]]; then exit; else tmux detach; exit; fi'

но вопрос exit после tmux detach должен вызываться в терминале, содержащем сеанс tmux, а не сам сеанс tmux.

5
задан gsingh2011
источник

2 ответов

мы должны объявить две функции, одну для запуска tmux, а другую для выхода из tmux:

function ttmux {
if     (pgrep tmux); then
       tmux attach
  else tmux
  fi
builtin exit
}

Это будет выполняться либо (tmux attach или tmux), если процесс tmux существовал или нет, после того , как вы закончите использовать tmux, встроенный выход будет выполнен, чтобы закрыть терминал(если нет вложенной оболочки).

function exit {
if      [ ${TMUX} ]; then
          tmux detach
      else builtin exit
     fi
}

Если вы внутри tmux отсоедините его, если не выполнит встроенный выход

положить их в свой .bashrc или .zshrc и измените имя функции, если хотите, и позвони им.

>> ttmux # to start tmux
>> exit # to detach tmux
2
отвечен Ahed Eid 2014-08-14 05:39:58
источник
terminator -e tmux

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

0
отвечен lesmana 2014-08-06 01:32:45
источник

Другие вопросы bash linux terminal tmux