web-dev-qa-db-fra.com

Comment démarrer tmux avec plusieurs panneaux ouverts en même temps?

Supposons que je démarre tmuxet que j’exécute immédiatement Ctrl+b+% et Ctrl+b+".

Cela me donne un grand volet sur le côté gauche de l'écran; le côté droit de l'écran a un volet supérieur et inférieur.

Comment puis-je configurer tmux pour démarrer dans cette configuration sans avoir à saisir ces commandes?

20
Mark Harrison

Une autre option consiste à créer un alias ou un autre fichier Shell dans /bin pour:

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

ou

tmux source-file ~/.tmux.conf

~/.tmux.conf

new
neww
splitw -h
splitw -v

Pour référence, la même question a d'autres options en SE, Comment configurer tmux pour qu'il démarre avec les fenêtres spécifiées ouvertes?

17
user.dz

Vous pouvez utiliser le script Shell suivant pour votre configuration:

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

Cela donnera la configuration requise de l'écran avec les commandes suivantes, comme vous l'avez mentionné. tmux -> Ctrl+b+% -> Ctrl+b+"

Pour référence, veuillez utiliser page de manuel de tmux .

13
Harshit

Il peut être facile d'activer et de désactiver les sessions automatiques tmux lors de la connexion à l'aide de l'application Byob . Vous pouvez utiliser Byobu comme interface avec tmux pour répondre à ce besoin, il est donc simple de faire ce que vous demandez. Dans un terminal, exécutez les commandes suivantes:

Sudo apt-get install byobu
Sudo byobu-enable
Sudo -i

Lorsque l'utilisateur root se connecte via la console, SSH ou avec Sudo -i, Byobu se connecte à une session tmux existante ou en crée une nouvelle si elle n'est pas déjà en cours d'exécution. Utilisez Sudo -i au lieu de Sudo -s. L'option -s ne démarre qu'un shell, pas un shell de connexion. Vous devez utiliser Sudo -i pour émuler une connexion complète, qui charge également roots ~/.profile, et c’est là que Byobu s’installera lui-même à l’exécution.

byobu-enable.

Vous pouvez configurer différentes sessions à partir de votre .tmux.conf comme ci-dessous:

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

Et vous pouvez ensuite formater les sessions selon vos besoins:

#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

Cela ouvrirait 2 fenêtres, la seconde s'appellerait foo/bar et serait scindée verticalement en deux (50%) avec foo dépassant la barre. Le focus serait dans la fenêtre 2 (foo/bar), volet supérieur (foo).

Byobu simplifie la configuration et le démarrage de tmux automatiquement.

4
Abhishek Tandon

Le plugin tmux-resurrect permettra de configurer la persistance de session et fournira des fonctionnalités supplémentaires pour la sauvegarde et la restauration des paramètres entre les sessions tmux.

De nombreuses fonctionnalités supplémentaires sont disponibles. Depuis la page Web du plugin:

" Ce plugin fait de son mieux pour sauvegarder et restaurer tous les détails de votre environnement tmux. Voici ce qui a été pris en charge:

  • toutes les sessions, fenêtres, volets et leur ordre
  • répertoire de travail actuel pour chaque volet
  • dispositions exactes du volet dans les fenêtres (même en cas de zoom)
  • session active et alternative
  • fenêtre active et alternative pour chaque session
  • fenêtres avec focus volet pour chaque fenêtre
  • "sessions groupées" (fonctionnalité utile lors de l'utilisation de tmux avec plusieurs moniteurs) programmes s'exécutant dans un volet! "

Installation:

  1. Dans le terminal, accédez au répertoire du plugin tmux (dans mon cas, ~/dotfiles/tmux/plugins).
  2. Clonez le référentiel avec la commande: git clone https://github.com/tmux-plugins/tmux-resurrect.

  3. Editez votre fichier .tmux.conf et ajoutez la ligne set -g @plugin 'tmux-plugins/tmux-resurrect'.

  4. Rechargez l'environnement tmux avec la commande: tmux source-file ~/dotfiles/tmux/tmux.conf.
  5. Entrez la mise en page souhaitée. Dans ce cas Ctrl-b% et Ctrl-b".
  6. Enregistrez votre session tmux en entrant la commande Ctrl-b + Ctrl-s.
  7. Au prochain démarrage de votre session tmux, entrez la commande Ctrl-b + Ctrl-r pour restaurer votre session tmux.

Comme indiqué précédemment, outre la configuration de la disposition des volets de la session tmux, ce plug-in peut également configurer des répertoires de travail persistants et faire redémarrer vos applications en cours d'exécution à chaque session.

2
Kevin Bowen

Je me suis écrit un peu bash script:

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

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

et mettez un alias dans mon ~/.bash_aliases

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

Alors maintenant, je peux simplement taper tmuxv PYTHON et j'ai une session tmux divisée verticalement avec une fenêtre nommée PYTHON, ce qui est bien parce que le nom de la fenêtre est reflété dans le nom de mon onglet gnome-terminaux.

1
anarchist912