Как создать сценарий
Этот скрипт будет проверять, если сеанс не существует. Если сеанс не существует, создайте новый сеанс и присоедините его. Если сеанс действительно существует, ничего не происходит, и мы присоединяемся к этому сеансу. Не забудьте заменить `~/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 вы можете изменить Caps Lock чтрл system preferences > keyboard > modifier keys
Присоединить к сеансу с помощью командного режима в то время как внутри tmux
Попытка присоединить к сеансу без отсоединения приведет к ошибке.
$ tmux attach -t development
> sessions should be nested with care, unset $TMUX to force
Вместо этого используйте режим командной Prefix
:
введите attach -t session_name
и нажмите клавишу ВВОД.
+1 для решения, которое не заботится о «сеансах, должно быть вложено с осторожностью, unset $ TMUX, чтобы заставить " –
, а затем вы можете переименовать свою сессию:' ctrl-b $ ' – nha
И' Ctrl-b: new -s ', чтобы дать имя новому сеансу. –