40 votes

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

Suppose I start tmux and immediately execute Ctrl+b+% and Ctrl+b+".

Cela me donne un volet haut à 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 à taper ces commandes ?

33voto

user.dz Points 45060

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 dans SE, Comment configurer tmux pour qu'il démarre avec des fenêtres spécifiées ouvertes?

21voto

Harshit Points 395

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 la page man de tmux.

5voto

Abhishek T. Points 222

Il est possible de facilement activer et désactiver les sessions automatiques tmux à la connexion en utilisant l'application Byobu. Vous pouvez utiliser Byobu comme une interface vers tmux pour répondre à ce besoin, ce qui rend simple de réaliser 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 connectera à une session tmux existante ou en créera une nouvelle si aucune n'est déjà en cours d'exécution. Utilisez sudo -i au lieu de sudo -s. L'option -s ne lance qu'un shell, pas un shell de connexion. Vous devriez utiliser sudo -i pour émuler une connexion complète, ce qui charge également roots ~/.profile, et c'est là que byobu s'installera lorsque vous exécutez

byobu-enable.

Vous pouvez configurer des sessions différentes depuis votre .tmux.conf comme suit :

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

Ensuite, vous pouvez formater les sessions selon vos besoins :

#session1
new  -s NomSession -n NomFenetre Commande
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

Cela ouvrirait 2 fenêtres, la deuxième portant le nom de foo/bar et serait divisée verticalement en deux moitiés (50%) avec foo s'exécutant au-dessus de bar. Le focus serait dans la fenêtre 2 (foo/bar), avec le volet supérieur (foo).

Byobu rend la configuration et le démarrage automatique de tmux très simples.

5voto

Kevin Bowen Points 18646

Le plugin tmux-resurrect permet de configurer la persistance de session ainsi que de fournir des fonctionnalités supplémentaires pour sauvegarder et restaurer les paramètres à travers les sessions tmux.

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

Ce plugin fait tout son possible pour sauvegarder et restaurer tous les détails de votre environnement tmux. Voici ce qui est pris en charge :

_* toutes les sessions, les fenêtres, les panneaux et leur ordre

  • le répertoire de travail actuel pour chaque panneau
  • les dispositions exactes des panneaux dans les fenêtres (même lorsque zoomées)
  • la session active et alternative
  • la fenêtre active et alternative pour chaque session
  • les fenêtres avec le focus sur le panneau actif pour chaque fenêtre* "sessions groupées" (fonctionnalité utile lors de l'utilisation de tmux avec plusieurs moniteurs) des programmes s'exécutant dans un panneau !_ "

Installation :

  1. Dans le terminal (Ctrl+Alt+t), naviguez jusqu'au répertoire de plugins tmux (dans mon cas, ~/dotfiles/tmux/plugins).

  2. Clonez le dépôt avec la commande : git clone https://github.com/tmux-plugins/tmux-resurrect.

  3. Modifiez le 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. Choisissez la disposition que vous voulez. Dans ce cas, Ctrl-b % et Ctrl-b ".

  6. Enregistrez votre session tmux en entrant la commande Ctrl-b + Ctrl-s.

  7. Lorsque vous démarrez votre session tmux suivante, entrez la commande Ctrl-b + Ctrl-r pour restaurer votre session tmux.

Comme mentionné précédemment, en plus de configurer la disposition des panneaux de la session tmux, ce plugin peut également configurer des répertoires de travail persistants ainsi que redémarrer vos applications en cours d'exécution à chaque session.

3voto

Jeff_V Points 111

Voici une fonction .bash_aliases qui ouvre un volet haut à gauche et divise le volet droit verticalement (voir l'image ci-dessous).

"-t $SESSION:1.2" indique que vous voulez exécuter la commande dans la session "work", dans la première fenêtre, dans le deuxième volet ( liste les numéros de volet).

"G" est la commande vim qui vous amène à la fin du fichier.

openSession () {

    WORK_DIR="~/projects"
    SESSION="work"

    tmux kill-session -t $SESSION
    tmux new-session -d -s $SESSION
    tmux split-window -h -t $SESSION:1.1
    tmux split-window -v -t $SESSION:1.2
    tmux send-keys -t $SESSION:1.1 "cd $WORK_DIR && vim notes" Enter
    tmux send-keys -t $SESSION:1.1 "G" Enter
    tmux send-keys -t $SESSION:1.3 "cd $WORK_DIR && ll" Enter
    tmux attach-session -t $SESSION
}

entrez la description de l'image ici

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X