Хотя это и необязательно, спецификатор целевого окна, который принимают оконные команды tmux (то есть для их параметров -t
и -s
), может напрямую указывать окно в любом сеансе. Синтаксис для целевого окна работает следующим образом:
- сессия
:
окно где
- сессия
- спецификатор для клиента (указывает текущий сеанс этого клиента), или
- точное, префиксное или fnmatch (3) (то есть «глоб») совпадение для имени сеанса, и
- окно
- индекс окна или
- точный префикс или fnmatch (3) для имени окна в сеансе.
- окно (только если в спецификаторе нет двоеточия) где
- окно , как указано выше, за исключением того, что оно ограничено текущим сеансом.
Вторая форма, вероятно, является наиболее часто используемой формой, но, похоже, вам нужна первая форма в вашем случае.
Вы должны быть в состоянии выполнить эту команду:
tmux select-window -t main:1
из любой точки мира, чтобы достичь своей цели. Например, он будет работать из сценария оболочки, который выполняется полностью вне контекста сеанса tmux (например, через cron)- при условии, что вы предоставляете любые значения опций -L
или -S
tmux
не по умолчанию, чтобы команда могла найти сокет сервера.
Вы также можете сделать это в качестве привязки (например , в ~/.tmux.conf
файл или на :
быстроты; отрегулировать ключевой спецификатор по желанию):
bind-key C-m select-window -t main:1
Затем вы можете ввести свой префикс и Cm в любом клиенте, подключенном к любому сеансу на любом сервере, имеющем эту привязку, и он переключит сеанс, соответствующий main
в свое окно с индексом 1.
Синтаксис «спецификатора цели» описан в разделе «Команды» справочной страницы tmux (найдите первое вхождение target-client
, target-session
, target-window
или target-pane
чтобы найти соответствующие описания).
Я никогда не использовал экран at
команде, но, похоже, у него есть итерационные функции. В настоящее время нет прямого соответствия этому в tmux, но «сценарий» должен быть довольно простым путем анализа выходных данных list-clients
, list-sessions
, list-windows
и list-panes
(более новые версии tmux имеют -F
опция для этих команд, которые могут помочь генерировать вывод, который легче анализировать).