Odpowiedź jest znacznie prostsza. Po prostu umieść to w swoim ~/.tmux.confpliku:
# if run as "tmux attach", create a session if one does not already exist
new-session -n $HOST
Jeśli uruchomisz tmux attachi istnieje sesja, zostanie ona dołączona do tej sesji (niezależnie od tego, czy jest już dołączona, czy nie). Jeśli nie ma jeszcze sesji, utworzy ją dla Ciebie.
jest to fajna sztuczka, ale jest zastrzeżenie: jeśli tmuxzostanie wywołana bez argumentów, utworzy nową sesję, a następnie utworzy drugą sesję, gdy tylko osiągnie ten wiersz w twoim ~/.tmux.conf. Ten problem można zobaczyć, wykonując tmux lspo utworzeniu pierwszej sesji. W praktyce po umieszczeniu tego w pliku nie można już dzwonić tmuxbez żadnych argumentów
Jeśli nazywanie sesji jest w porządku, możesz łatwo wykonać new-sessionpolecenie:
tmux new-session -A -s main
gdzie mainjest nazwa sesji, która zostanie dołączona lub utworzona w razie potrzeby.
Od man tmux:
-AFlag sprawia new-sessionzachowywać się jak attach-sessiongdyby sesja nazwa już istnieje; w tym przypadku -Dzachowuje się jak -dsię attach-session.
Należy również pamiętać, że -Aopcja została wprowadzona w wersji tmux 1.8od 26 marca 2013 r. W przypadku wcześniejszych wersji należy użyć tmux attach || tmux.
Aby rozwinąć odpowiedź Wesleya Baugha (która była dla mnie sesjami podwójnego zagnieżdżania podczas używania w .bashrc przy logowaniu) i dodać trochę elastyczności, ponieważ często używam sudo -sna serwerach (które należycie ładowałyby mój .bashrc ponownie i podwójne gniazdo), oto co mam w moim .bashrc:
if [ -z "$TMUX" ] && [ ${UID} != 0 ]
then
tmux new-session -A -s main
fi
To sprawdza sesję tmux i upewnia się, że nie jesteś superużytkownikiem przed utworzeniem nowej sesji lub dołączeniem do istniejącej o nazwie main.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.