Відповіді:
tmux \
new-session 'compass watch /path/to/project1/compass/' \; \
split-window 'compass watch /path/to/project2/compass/' \; \
detach-client
new-sessionКоманда (яка створює нову tmuxсесію) і split-windowкоманда (яка розбиває поточне вікно на дві панелі) в tmuxдодаткові команди оболонки для запуску. Це detach-clientочевидно в кінці.
Якщо ви хочете горизонтальний розкол (дві панелі поруч), скористайтеся split-window -hкомандою вище.
При надсиланні декількох tmuxкоманд tmuxвам потрібно розділити їх на ;. Ці ;потреби повинні бути захищені від оболонки процитувати / уникнути його ( ';', ";"або \;), щоб зупинити оболонку інтерпретувати його як кінець tmuxкоманди.
Я розділив цілу річ на окремі рядки для читабельності. Якщо ви робите це в сценарії (який я рекомендую), переконайтеся, що після остаточного \в кожному рядку нічого немає .
Повторно приєднайте до сеансу за допомогою tmux a, tmux attachабо tmux attach-session(всі вони еквівалентні).
tmuxСеанс закінчиться , як тільки обидві команди закінчили виконання.
Для мене це не вийшло (я намагався зробити щось на кшталт 'ls -la'). Що було:
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
Це дозволило мені запустити досить загальні речі, і хоча це виглядає некрасиво, він є досить функціональним.
Просто залиште його тут, якщо інші люди шукають те саме.