Как создать сценарий
Этот сценарий проверит, существует ли сеанс. Если сеанс не существует, создайте новый сеанс и подключитесь к нему. Если сеанс существует, ничего не происходит, и мы подключаемся к этому сеансу. Не стесняйтесь заменять `~ / development 'названием проекта.
$ touch ~/development && chmod +x ~/development
# ~/development
tmux has-session -t development
if [ $? != 0 ]
then
tmux new-session -s development
fi
tmux attach -t development
Новая сессия с терминала
Давайте создадим два отдельных сеанса, перечислим их, подключим к одному, а затем изнутри tmux перейдем к циклу сеансов.
tmux new -s name -d
работает изнутри tmux, потому что мы создаем новый отдельный сеанс. В противном случае вы получите ошибку вложенности.
$ 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]
Новый сеанс из tmux
Теперь мы внутри или более известны как привязанные к нашей целевой сессии. Если мы попытаемся создать новый сеанс во время присоединения, это приведет к ошибке вложенности.
$ tmux new -s bar
> sessions should be nested with care, unset $TMUX to force
Чтобы решить эту проблему, мы создаем новый отдельный сеанс. например,
$ 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]
Цикл (переключение) сеансов
Prefix
(
предыдущая сессия
Prefix
)
следующая сессия
Примечание: Prefix
это Ctrl-b
по умолчанию. Вы можете Prefix
выполнить привязку к Ctrl-a
Mac OSX, а в Mac OSX вы можете изменить Caps Lock на ctrlsystem preferences > keyboard > modifier keys
Подключиться к сеансу с помощью командного режима, находясь внутри tmux
Попытка подключиться к сеансу без отключения приведет к ошибке.
$ tmux attach -t development
> sessions should be nested with care, unset $TMUX to force
Вместо этого используйте командный режим, Prefix
:
затем введите attach -t session_name
и нажмите Enter.