Table des matières

LINUX : Tmux

Introduction

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.

Installation

yum/apt-get install tmux

Memo des commandes

Sources : ( http://denisrosenkranz.com/tuto-introduction-a-tmux-terminal-multiplexer/ )

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

tmux.conf

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