Embora seja opcional, o especificador de janela de destino que os comandos da janela tmux aceitam (ou seja, para suas opções -t
e -s
) pode especificar diretamente uma janela em qualquer sessão. A sintaxe de uma janela de destino funciona assim:
-
sessão
:
janela onde-
sessão é
- o especificador de um cliente (especifica a sessão atual desse cliente) ou
- um exato, prefixo ou fnmatch (3) (ou seja, "glob") corresponde a um nome de sessão e
-
janela é
- um índice de janela ou
- um exacto, prefixo ou fnmatch (3) para um nome de janela em sessão .
-
sessão é
-
janela (somente se não houver dois pontos no especificador) onde
- janela é como acima, exceto que é restrito à sessão atual.
O segundo formulário é provavelmente o formulário mais usado, mas parece que você quer o primeiro formulário no seu caso.
Você deve conseguir executar este comando:
tmux select-window -t main:1
de qualquer lugar para alcançar seu objetivo. Por exemplo, ele funcionará a partir de um script de shell que é executado completamente fora do contexto de uma sessão tmux (por exemplo, via cron ) - contanto que você forneça qualquer não padrão -L
ou -S
tmux
valores de opção para que o comando possa localizar o soquete do servidor.
Você também pode fazer isso como uma ligação (por exemplo, em um arquivo ~/.tmux.conf
ou em um prompt tmux :
; ajuste o especificador de chave como desejado):
bind-key C-m select-window -t main:1
Em seguida, você pode digitar seu Prefixo e C-m em qualquer cliente anexado a qualquer sessão em qualquer servidor que tenha essa ligação e alterará a sessão que corresponde main
à sua janela no índice 1.
A sintaxe de "especificador de destino" é descrita na seção "Comandos" da página de manual tmux (pesquisa pela primeira ocorrência de target-client
, target-session
, target-window
ou target-pane
para encontrar as descrições relevantes).
Eu nunca usei o comando at
do screen , mas também parece que ele possui recursos de iteração. No momento, não há correspondência direta para isso em tmux , mas deve ser bastante fácil "criar script" analisando a saída de list-clients
, list-sessions
, list-windows
e list-panes
( versões mais recentes do tmux têm a opção -F
para esses comandos que podem ajudar a gerar uma saída mais fácil de analisar.