Загрузка tmux по умолчанию при запуске терминала zsh


23

Мой текущий рабочий процесс:

  1. CTRL+ SHIFT+, Tчтобы запустить новое окно терминала. Это запускает новый терминал Zsh.
  2. Типа tmuxдля запуска tmux.

Как я могу загрузить tmux по умолчанию с новым окном терминала?

Ответы:


36

Есть как минимум два пути:

  1. Напишите что-нибудь вроде

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

    в начале ~/.zshrc. Обратите внимание на условный тест для возможного цикла, когда он tmuxпорождает свой собственный zsh.

  2. Измените команду запуска терминала на что-то вроде

    xterm -e tmux

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


2
Или есть разные ярлыки для xterm -e tmuxи простой xterm.
Николай Н Фетисов

Да, на самом деле я имел в виду это под "я предпочитаю второй путь" =)
пик

1
Выполнение tmuxв конце .zshrcприведет к бесконечному циклу zsh, начиная с tmux, начиная с zsh, начиная с tmux ...
Thor

Как можно было бы "изменить команду запуска терминала"?
eoinoc

@eoinoc, это зависит от вашей среды. Например, я использую удивительный wm, поэтому мне просто нужно изменить строку в моем конфигурационном файле. В kde вам нужно отредактировать горячие клавиши. И так далее.
Раш

6

Будьте осторожны с echo tmux >> ~/.zshrcраствором , хотя, я помню , что просто бросает bashв .cshrcфайл заставил меня неприятности через SSH.

IIRC проблема возникла с неинтерактивными оболочками, поэтому вы должны проверить это.

case $- in *i*)
  if [ -z "$TMUX" ]; then exec tmux; fi;;
esac

Вам не хватает пробела между "и ].
n.st

5

добавь его в свой .zshrc

if [ -z "$TMUX" ]
then
    tmux attach -t TMUX || tmux new -s TMUX
fi

тогда tmux автоматически подключится к сеансу TMUX при запуске вашего терминала.


1

На самом деле есть плагин tmuxпо умолчанию для oh_my_zsh.

Добавьте его в список плагинов и установите ZSH_TMUX_AUTOSTART=trueв своем.zshrc

Для получения дополнительной информации, перейдите сюда


0

Добавьте «tmux» в ваш файл .zshrc, который выполняется каждый раз, когда вы запускаете zsh. Быстрый способ:

echo tmux >> ~/.zshrc

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.