Risposte:
tmux \
new-session 'compass watch /path/to/project1/compass/' \; \
split-window 'compass watch /path/to/project2/compass/' \; \
detach-client
Il new-session
comando (che crea una nuova tmux
sessione) e il split-window
comando (che divide la finestra corrente in due riquadri) tmux
richiede l'esecuzione di comandi shell opzionali. Alla fine detach-client
fa l'ovvio.
Se si desidera una divisione orizzontale (due riquadri affiancati), utilizzare split-window -h
nel comando sopra.
Quando si inviano più tmux
comandi tmux
è necessario separarli per ;
. I ;
deve essere protetto dal guscio citando / scampo ( ';'
, ";"
o\;
), per arrestare la shell di interpretare come la fine del tmux
comando.
Ho diviso il tutto in righe separate per leggibilità. Se lo fai in uno script (che raccomando), assicurati che non ci sia nulla dopo la finale\
su ogni riga.
Riattaccare alla sessione con tmux a
,tmux attach
o tmux attach-session
(questi sono tutti equivalenti).
La tmux
sessione terminerà al termine dell'esecuzione di entrambi i comandi.
Questo non ha funzionato per me (stavo cercando di fare qualcosa come "ls -la"). Quello che ha fatto è stato:
tmux new-session -d bash
tmux split-window -h bash
#sends keys to first and second terminals
tmux send -t 0:0.0 "<my-first-command>" C-m
tmux send -t 0:0.1 "<my-second-command>" C-m
tmux -2 attach-session -d
Questo mi ha permesso di eseguire roba piuttosto generica e sebbene sembri brutta, è abbastanza funzionale.
Lasciandolo qui nel caso in cui altre persone stiano cercando la stessa cosa.