Supposons que je démarre tmux
et 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?
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
où ~/.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?
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 .
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.
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:
Installation:
~/dotfiles/tmux/plugins
).Clonez le référentiel avec la commande: git clone https://github.com/tmux-plugins/tmux-resurrect
.
Editez votre fichier .tmux.conf
et ajoutez la ligne set -g @plugin 'tmux-plugins/tmux-resurrect'
.
tmux source-file ~/dotfiles/tmux/tmux.conf
.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.
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.