Uruchom polecenie w odłączonej sesji tmux

24

Jest to prawdopodobnie proste, ale naprawdę nie mogę się dowiedzieć, jak to robisz. Przeczytałem strony podręcznika i przejrzałem go bez wyników.

Problem: Jak uruchomić polecenie w odłączonym oknie Tmux?

Przykład: Chcę, aby moje odłączone okno „foo” uruchamiało „ls”, ale chcę to zrobić z innego terminala.

Próbowałem rzeczy takich jak: 'tmux -t foo ls' bez rezultatów.

Accatyyc
źródło

Odpowiedzi:

39

Poleceniem jest send. sendjest sekwencją klawiszy, więc traktuj ją odpowiednio (np. prawdopodobnie będziesz chciał ENTER). Cel jest określony za pomocą -t. Możesz chcieć foo.0 lub foo.1 w zależności od okienka, w które chcesz trafić.

tmux send -t foo.0 ls ENTER

sendjest skrótem od send-keys, który znajduje się na stronach podręcznika, ale być może jest trochę trudny do znalezienia w tej kilometrze tekstu.

84104
źródło
Świetna odpowiedź. Bardzo pouczające i działa urok. Dzięki!
Accatyyc,
Najbardziej majestatyczne rozwiązanie tego problemu! Ogromne dzięki!
3bdalla
2
Zauważ, że aby celować w określone okno w określonej sesji, oddziel je dwukropkiem =>tmux send-keys -t foosession:foo.0 ls ENTER
nickspoon
Jeśli chcesz wysyłać spacje między słowami, powinieneś otoczyć polecenie dwoma apostrofami. Polecenie ENTER powinno nadal znajdować się na zewnątrz. Działa to dla mnie na UBUNTU 16.04: tmux send -t session_name 'echo durp'ENTER
TrollAxeThrower