Завантаження за замовчуванням 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.
Микола N Фетисов

Так, насправді я мав на увазі це під "я віддаю перевагу другому шляху" =)
кидатися

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.