tmux - присоединиться к сеансу и указать окно

У меня есть сценарий (.sh), и я хочу, чтобы он запускался в существующем сеансе tmux. У меня 1 сеанс с 8 окнами.

Есть ли такая команда, как tmux a -t session-name, которая также указывает окно?

И будет ли такой сценарий работать?

#!/bin/bash tmux a -t session-name #What ever to write to specify window# java -jar -Xmx4G -Xms4G Spigot.jar


person user3707440    schedule 07.06.2014    source источник


Ответы (2)


Вы можете изменить активное окно сеанса перед подключением к сеансу.

tmux -t <session-name> select-window -t <windowID>
tmux a -t <session-name>

Вы также можете комбинировать две tmux команды.

tmux -t session-name select-window -t <windowID> \; a

Если вы действительно хотите запустить java, предположительно вы хотите создать новое окно с new-window, а не выбирать существующее с помощью select-window.


В более новых версиях tmux (по крайней мере, 1.9; работало ли вышеупомянутое когда-нибудь, возможно, в 1.6?) Больше нет параметра -t для указания сеанса, к которому будут применяться команды. Вместо этого каждая отдельная команда определяет сеанс.

tmux select-window -t <session-name>:<windowID> \; a -t <session-name>
person chepner    schedule 07.06.2014
comment
Я получаю tmux: illegal option -- t на tmux 2.2. - person Radon Rosborough; 12.08.2016
comment
У меня больше нет более старой версии tmux, чтобы проверить, что изменилось. В 2.2, однако, я думаю, вы просто указываете сеанс как часть целевого окна: tmux select-window -t <session>:<windowID>. - person chepner; 12.08.2016
comment
Работает абсолютно отлично! Большое спасибо! - person Radon Rosborough; 13.08.2016
comment
Обратной стороной переключения перед подключением является то, что вы затрагиваете любого другого клиента того же сеанса. Моя цель обычно - подключить нового клиента, а затем переключиться на другое окно того же сеанса. - person sehe; 22.01.2021

Для tmux версии 2.1 это работает

tmux a -t  <session-name> \; select-window -t <windowID> \;
person dowewas    schedule 26.06.2017