A execução do script por meio do bashrc causa o aninhamento de painéis do tmux

1

Eu uso o seguinte código tmux em um arquivo de script tmux-dev.sh e o adiciono ao bash usando bash /home/rohit/tmux-dev.sh :

tmux new-session -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d

O script causa um aninhamento dos painéis tmux dando erro: painel muito pequeno. Para minha surpresa, o mesmo bash tmux-dev.sh quando colocado na caixa title and command do gnome-terminal funciona perfeitamente e dá essa tela

Por favor me ajude com isso. Estou usando o Ubuntu 14.10.

P.S - Por favor, fique longe de sugerir quaisquer ferramentas, eu estou aqui para uma explicação para este comportamento e solução de script shell crua.

    
por 0decimal0 19.08.2015 / 22:34

1 resposta

0

Como @fiximan sugeriu, eu tentei testar se a sessão do tmux existe ou não e então executar algum código e finalmente, com um pequeno ajuste eu sou bem sucedido em obter o layout que eu queria. Aqui está o que eu adicionei ao meu .bashrc :

test -z "$TMUX" && (tmux new-session -d && tmux split-window -h && tmux split-window -v && tmux -2 attach-session -d)

Eu vou quebrar o acima para uma explicação:

  1. test -z "$TMUX" - > Isso testa se já existe uma sessão tmux em execução ou não, evitando assim o aninhamento de sessões tmux
  2. tmux new-session -d - > Cria uma nova sessão
  3. tmux split-window -h - > Divide a janela verticalmente
  4. tmux split-window -v - > Divide a janela horizontalmente
  5. tmux -2 attach-session -d - > Anexa as sessões

OBSERVAÇÃO - usei o operador && e não o operador || porque o último teria um curto-circuito.

    
por 20.08.2015 / 12:37