Respostas:
tmux \
new-session 'compass watch /path/to/project1/compass/' \; \
split-window 'compass watch /path/to/project2/compass/' \; \
detach-client
O new-sessioncomando (que cria uma nova tmuxsessão) e o split-windowcomando (que divide a janela atual em dois painéis) tmuxlevam comandos shell opcionais para serem executados. O detach-clientfaz o óbvio no final.
Se você deseja uma divisão horizontal (dois painéis lado a lado), use split-window -ho comando acima.
Ao enviar vários tmuxcomandos para tmuxvocê, é necessário separá-los ;. As ;necessidades para ser protegida a partir da casca, citando / escapando-lo ( ';', ";"ou \;), para parar a casca de interpretar como o fim do tmuxcomando.
Dividi tudo em linhas separadas para facilitar a leitura. Se você fizer isso em um script (o que eu recomendo), verifique se não há nada após a final \em cada linha.
Recoloque a sessão com tmux a, tmux attachou tmux attach-session(estes são todos equivalentes).
A tmuxsessão terminará assim que os dois comandos tiverem terminado de executar.
Isso não funcionou para mim (eu estava tentando fazer algo como 'ls -la'). O que fez foi:
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
Isso me permitiu executar coisas bastante genéricas e, embora pareça feia, é bastante funcional.
Basta deixar aqui para o caso de outras pessoas procurarem a mesma coisa.