LINUX : Tmux

Tmux, tout comme Screen, est un multiplexeur de terminaux. Il permet d'avoir plusieurs terminaux dans un même shell, ou bien de garder des sessions au travers ssh.

yum/apt-get install tmux

Commandes de bases

(tapez Control + x avant)

  • c : Créer un nouveau terminal dans la session tmux active
  • n : Switcher entre les différents terminaux de la session
  • X : Choisir un terminal spécifique (où X est le numéro du terminal)
  • d : Se détacher de la session tmux
  • , : Permettre de renommer un terminal
  • w : Afficher la liste des terminaux disponibles
  • t : Afficher l’heure dans un terminal

Commandes dans un Split

tapez CTRL+b avant (ou Control + x avec tmux.conf)

  • “(ou / avec tmux.conf) : Split vertical du terminal courant en deux + ouverture d’un terminal dans le nouveau panel
  • %(ou + avec tmux.conf) : Split horizontal du terminal courant en deux + ouverture d’un terminal dans le nouveau panel
  • x : unsplit, fermer le panel courant
  • o : Switcher entre les terminaux splittés
  • espace : Changer l’organisation visuelle des terminaux splittés
  • Alt + (flèches directionnelles) : Reduire, agrandir fenêtre du split
  • ! : Convertir un split en terminal seul
  • q : Afficher les numéros des terminaux splittés
  • :join : permet de joindre un terminal seul sans un split
  • b : Renommer le terminal courant
  • ; : Basculer dans le dernier panel actif
  • c : Créer un nouveau terminal
  • n : Aller au terminal suivant
  • p : Aller au terminal précédent
  • w : Afficher la liste des terminaux disponibles
  • d : Détacher tmux
  • : : Ouvrir l'invite de commande
  • ( : Aller à la session précédente
  • ) : Aller à la session suivante

Exemple pour rajouter le terminal numéro 3 verticalement et pour qu’il prenne 50% de l’espace total:

  • : joinp -v -s 3.0 -p 50
  1. -h ou -v : horizontalement ou verticalement
  2. -s 0.0 : terminal 0 et volet 0 (volet si écran splitté)
  3. -p 50 : occupation à 50% de la fenêtre

Commandes à taper dans un terminal classique

  • tmux : Créer une session
  • tmux attach : Se rattacher à la dernière session utilisée
  • tmux ls : Voir la liste des sessions tmux actives
  • tmux attach -t X : S’attacher à une session tmux où X est le numéro de la session

Exemple de tmux.conf

##################################
#Changement des raccourcis claviers
##################################
#On change Control +b par Control +x
set -g prefix C-x
unbind C-b
bind C-x send-prefix
 
#On utilise control + flèches pour naviguer entre les terminaux
bind-key -n C-right next
bind-key -n C-left prev
 
#on utilise alt + flèches pour naviguer entre les panels
bind-key -n M-left select-pane -L
bind-key -n M-right select-pane -R
bind-key -n M-up select-pane -U
bind-key -n M-down select-pane -D
 
#On change les raccourcis pour faire du split vertical et horizontal
#On utilise la touche "/" (pipe) pour faire un split vertical
bind / split-window -h
#Et la touche "+" pour faire un split horizontal
bind + split-window -v
 
 
##################################
#Changements visuels
##################################
 
#On met les panneaux non actifs d'une autre couleur
set -g pane-border-fg black
set -g pane-border-bg blue
 
#On met le panneau actif en rouge
set -g pane-active-border-fg colour124
set -g pane-active-border-bg default
 
#On met la barre de statuts en gris
set -g status-fg colour235
set -g status-bg colour250
 
#On met des infos
set -g status-interval 1
set -g status-justify centre # center align window list
set -g status-left-length 20
set -g status-right-length 140
set -g status-left '#[fg=red]#H #[fg=black]• #[fg=green,bright]#(uname -r | cut -c 1-6)#[default]'
set -g status-right '#[fg=red,bg=default,bright]#(tmux-mem-cpu-load 1) #[fg=red,dim,bg=default]#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") #[fg=white,bg=default]%a%l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d'
 
##################################
# Autres options
##################################
 
#Utilisation de la souris
# (/!\ Il faut maintenir la touche "shift" en même temps, les habitudes de sélection changent )
setw -g mode-mouse on
set -g mouse-select-pane on
set -g mouse-resize-pane on
 
# Activity monitoring
setw -g monitor-activity on
set -g visual-activity on
 
#Pour les problèmes de résolution
setw -g aggressive-resize on
 
# Mode-keys style for copy mode
setw -g mode-keys vi
 
# UTF-8
set-option -g status-utf8 on
set-window-option -g utf8 on
 
# Set 256-colour terminal
set -g default-terminal "screen-256color"
 
#Copier le buffer de tmux dans le presse-papier
bind ^C run "tmux show-buffer | xsel -i -b"

Retour

Vous pourriez laisser un commentaire si vous étiez connecté.