Domyślne ładowanie tmux po uruchomieniu terminala zsh


23

Mój obecny przepływ pracy to:

  1. CTRL+ SHIFT+, Taby uruchomić nowe okno terminala. To uruchamia nowy terminal Zsh.
  2. Wpisz, tmuxaby rozpocząć tmux.

Jak mogę domyślnie ładować tmux w nowym oknie terminala?

Odpowiedzi:


36

Istnieją co najmniej dwa sposoby:

  1. Napisz coś w stylu

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

    na początku ~/.zshrc. Zwróć uwagę na test warunkowy na możliwą pętlę, gdy tmuxpojawi się jej własny zsh.

  2. Zmodyfikuj polecenie uruchamiania terminala na coś podobnego

    xterm -e tmux

Wolę drugi sposób, ponieważ czasami muszę uruchomić terminal bez tmux(na przykład, gdy muszę ponownie połączyć się z istniejącą sesją).


2
Lub użyj różnych skrótów xterm -e tmuxi zwykłych xterm.
Nikolai N Fetissov

Tak, właściwie miałem to na myśli pod hasłem „Wolę drugi sposób” =)
szczytu

1
Wykonanie tmuxna końcu .zshrcspowoduje nieskończoną pętlę zsh start tmux start zsh start tmux ...
Thor

Jak można przejść do „modyfikowania polecenia uruchamiania terminala”?
eoinoc

@eoinoc zależy od twojego środowiska. Na przykład używam niesamowitego wm, dlatego muszę tylko zmodyfikować ciąg w moim pliku konfiguracyjnym. W KDE musisz edytować skróty klawiszowe. I tak dalej.
pędzi

6

Bądź ostrożny z echo tmux >> ~/.zshrcroztworem chociaż pamiętam, że po prostu rzuca bashsię w .cshrcpliku spowodowane mi kłopot przez SSH.

IIRC problem wystąpił w przypadku nieinteraktywnych powłok, więc powinieneś to sprawdzić.

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

Brakuje spacji między "i ].
n.st

5

dodaj to do swojego .zshrc

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

wtedy tmux automatycznie połączy się z sesją o nazwie TMUX po uruchomieniu terminala.


1

W rzeczywistości istnieje domyślna wtyczka tmuxdla oh_my_zsh.

Dodaj go do listy wtyczek, a następnie ustaw ZSH_TMUX_AUTOSTART=truena swoim.zshrc

Aby uzyskać więcej informacji, przejdź tutaj


0

Dodaj „tmux” do pliku .zshrc, który jest wykonywany przy każdym uruchomieniu zsh. Szybki sposób:

echo tmux >> ~/.zshrc

Chodzi o to, że rozpoczyna nową sesję w każdej nowej instancji i napełnia Tmux sesjami, których nigdy nie opuściłeś (również Tmux narzeka na to). Niezbyt dobre rozwiązanie.
Eksapsy

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.