Executar comando na sessão tmux desanexada


24

Provavelmente isso é simples, mas realmente não consigo descobrir como você faz isso. Eu li as páginas de manual e pesquisei sem resultados.

Problema: Como executo um comando em uma janela tmux desanexada?

Exemplo: quero que minha janela desanexada 'foo' execute 'ls', mas quero fazê-lo em outro terminal.

Eu tentei coisas como: 'tmux -t foo ls' sem resultados.

Respostas:


39

O comando é send. sendé uma sequência chave, portanto, trate-a adequadamente (por exemplo, você provavelmente desejará ENTER). O destino é especificado com -t. Você pode querer foo.0 ou foo.1, dependendo do painel que deseja bater.

tmux send -t foo.0 ls ENTER

sendé uma abreviação de send-keys, localizada nas páginas de manual, mas talvez um pouco difícil de encontrar nessa milha de texto.


Ótima resposta. Muito informativo e funciona um charme. Obrigado!
Accatyyc

A solução mais majestosa para esse problema! Agradecimentos maciços!
Feball

2
Observe que, para direcionar uma janela específica em uma sessão específica, você as separa com dois pontos =>tmux send-keys -t foosession:foo.0 ls ENTER
nickspoon 17/17/17

Se quiser enviar espaços entre as palavras, coloque o comando entre dois apóstrofos. O comando ENTER ainda deve estar fora. Isso funciona para mim no UBUNTU 16.04: tmux send -t session_name 'echo durp'ENTER
TrollAxeThrower
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.