Jak stworzyć skrypt
Skrypt sprawdzi, czy sesja istnieje. Jeśli sesja nie istnieje, utwórz nową sesję i dołącz do niej. Jeśli sesja nie istnieje, nic się nie dzieje i dołączamy do tej sesji. Możesz zastąpić `~/development 'nazwą projektu.
$ touch ~/development && chmod +x ~/development
# ~/development
tmux has-session -t development
if [ $? != 0 ]
then
tmux new-session -s development
fi
tmux attach -t development
nowej sesji z terminala
Stwórzmy dwie sesje jednorodzinnych, wymienić je, dołącz do jednego a następnie od wewnątrz tmux przechodzić sesji.
tmux new -s name -d
działa od wewnątrz tmux, ponieważ tworzymy nową oddzielną sesję. W przeciwnym razie pojawi się błąd zagnieżdżenia.
$ tmux new -s development -d
$ tmux new -s foo -d
$ tmux ls
> development: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
> foo: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
$ tmux attach -t
$ tmux ls
> development: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54] (attached)
> foo: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
Nowa sesja od wewnątrz tmux
Jesteśmy teraz wewnątrz lub lepiej znany jako dołączony do naszej sesji docelowej. Jeśli spróbujemy utworzyć nową sesję podczas dołączania, spowoduje to błąd zagnieżdżenia.
$ tmux new -s bar
> sessions should be nested with care, unset $TMUX to force
Aby rozwiązać ten problem, tworzymy nową oddzielną sesję. np
$ tmux new -s bar -d
$ tmux ls
> development: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54] (attached)
> foo: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
> bar: 1 windows (created Wed Jan 13 17:19:35 2016) [204x54]
cyklu (przełącznik) Sesje
Prefix
(
poprzedniej sesji
Prefix
)
obok sesji
uwaga:Prefix
to domyślnie Ctrl-b
. Można powiązać Prefix
do Ctrl-a
w systemie Mac OS X można zmienić Caps Lock ctrl system preferences > keyboard > modifier keys
Dołączanie do sesji w trybie polecenia natomiast wewnątrz tmux
Próbuje dołączyć do sesji bez odłączania spowoduje wystąpienie błędu.
$ tmux attach -t development
> sessions should be nested with care, unset $TMUX to force
Zamiast korzystać z trybu poleceń Prefix
:
następnie wpisz attach -t session_name
i nacisnąć enter.
+1 dla rozwiązania, które nie dba o "sesje powinny być zagnieżdżone z ostrożnością, unset $ TMUX, aby wymusić " –
, a następnie możesz zmienić nazwę sesji:' ctrl-b $ ' – nha
I' Ctrl-b: new -s ', aby nadać nazwę nowej sesji. –