Como iniciar o tmux com vários painéis abertos ao mesmo tempo?

14

Suponha que eu inicie tmux e execute imediatamente Ctrl + b + % e Ctrl + b + ".

Isso me dá um painel alto no lado esquerdo da tela; o lado direito da tela tem um painel superior e inferior.

Como posso configurar o tmux para iniciar nesta configuração sem ter que digitar esses comandos?

    
por Mark Harrison 27.09.2016 / 21:55

5 respostas

9

Outra opção é criar um alias ou outro arquivo de shell em /bin para:

tmux new-session \; split-window -h \; split-window -v \; attach

ou

tmux source-file ~/.tmux.conf

em que ~/.tmux.conf

new
neww
splitw -h
splitw -v

Para referência, a mesma pergunta tem outras opções em SE, Como configurar o tmux para que ele inicie com janelas especificadas abertas?

    
por user.dz 03.10.2016 / 09:41
9

Você pode usar o seguinte script de shell para sua configuração:

#!/bin/sh 
tmux new-session -s "mySession" -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d 

Isso dará a configuração necessária da tela com os seguintes comandos, como você mencionou. tmux - > Ctrl + b + % - > Ctrl + b + "

Para referência, por favor, use a página de manual do tmux .

    
por Harshit 03.10.2016 / 08:46
4

Pode ser fácil ativar e desativar as sessões tmux automáticas no login usando o aplicativo Byobu . Você pode usar o Byobu como uma interface para tmux para atender a essa necessidade, tornando simples fazer o que você está pedindo. Em um terminal, execute os seguintes comandos:

sudo apt-get install byobu
sudo byobu-enable
sudo -i

Quando o usuário root efetuar login por meio do console, SSH ou com sudo -i , o Byobu se conectará a uma sessão tmux existente ou criará uma nova, se ainda não estiver em execução. Use sudo -i em vez de sudo -s . A opção -s inicia apenas um shell, não um shell de login. Você deve usar sudo -i para emular um login completo, que também carrega roots ~/.profile , e é aqui que o byobu se instalará quando você executar

byobu-enable .

Você pode configurar sessões diferentes do seu .tmux.conf conforme abaixo:

# initialize sessions
bind S source-file ~/.tmux/session1 
bind s source-file ~/.tmux/session2

E então você pode formatar as sessões conforme necessário:

#session1
new  -s SessionName -n WindowName Command
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

Isso abriria duas janelas, a segunda das quais seria chamada foo / bar e seria dividida verticalmente na metade (50%) com o foo rodando acima da barra. O foco estaria na janela 2 (foo / bar), no painel superior (foo).

O Byobu faz com que configurar e iniciar o tmux seja muito simples.

    
por Abhishek Tandon 08.10.2016 / 04:44
1

O plug-in tmux-resurrect ativará a configuração de persistência de sessão, além de fornecer funcionalidade adicional para salvar e restaurar configurações nas sessões do tmux.

Muitos recursos adicionais estão disponíveis. Na página da web do plug-in:

" Este plugin faz um grande esforço para salvar e restaurar todos os detalhes do seu ambiente tmux. Aqui está o que está sendo feito:

  • todas as sessões, janelas, painéis e sua ordem
  • trabalho atual diretório para cada painel
  • layouts de painel exato dentro das janelas (mesmo quando ampliada)
  • sessão ativa e alternativa
  • janela ativa e alternativa para cada sessão
  • janelas com painel ativo de foco para cada janela
  • "sessões agrupadas" (recurso útil ao usar o tmux com vários monitores) programas em execução dentro de um painel! "

Instalação:

  1. No terminal, navegue até o diretório do plugin tmux (no meu     case, ~/dotfiles/tmux/plugins ).
  2. Clone o repositório com o comando: git clone https://github.com/tmux-plugins/tmux-resurrect .

  3. Edite seu arquivo .tmux.conf e adicione a linha set -g @plugin 'tmux-plugins/tmux-resurrect' .

  4. Recarregue o ambiente tmux com o comando: tmux source-file ~/dotfiles/tmux/tmux.conf .
  5. Insira o layout desejado. Neste caso Ctrl - b % e Ctrl - b " .
  6. Salve sua sessão do tmux digitando o comando Ctrl - b + Ctrl - s .
  7. Quando você iniciar a sessão do tmux, insira o comando Ctrl - b + Ctrl - r para restaure sua sessão do tmux.

Como mencionado anteriormente, além de configurar o layout do painel da sessão do tmux, este plug-in também pode configurar diretórios de trabalho persistentes, bem como reinicializar seus aplicativos em execução a cada sessão.

    
por Kevin Bowen 09.10.2016 / 06:04
1

Eu escrevi para mim mesmo um pequeno script bash :

# filename tmuxv in /home/<username>/Bash/tmuxv/

#!/bin/bash
tmux new-session \; split-window -v \; rename-window ${1} \; attach

e coloque um alias no meu ~ / .bash_aliases

alias tmuxv="/home/<username>/Bash/tmuxv/tmuxv"

Agora eu posso simplesmente digitar tmuxv PYTHON e eu tenho uma sessão tmux dividida verticalmente com uma janela chamada PYTHON, o que é legal porque o nome da janela é refletido no nome da minha guia gnome-terminal.

    
por anarchist912 30.10.2018 / 07:43

Tags