Linux

Présentation de Tmux

Hello,

Je ne sais pas si vous utilisez beaucoup SSH, mais combien de fois vous avez du dupliquer une session pour avoir un deuxième terminal sur le même serveur. Personnellement cela m’arrive très souvent. Alors oui vous allez me dire qu’on peux tres bien le faire avec screen (qui est installé par défaut sur bon nombre de distributions)

Si je préféré maintenant Tmux à la place de GNU Screen, c’est que chaque client qui s’attache a la même session affichera le même onglet. Ce qui permet quand on fait de la configuration au téléphone avec quelqu’un de changer d’onglet sur son écran aussi. La 2eme fonctionnalité que je retiendrais est le fait que la vue prendra la taille du terminal ayant la plus petite résolution. Sur screen c’est le premier terminal qui affichera l’onglet qui gagnera. du coup si vous avez un écran plus petit il vous manquera une partie de l’affichage.

Sinon niveau du principe de base cela reste rigoureusement identique a screen.

pour démarrer une session entrez la commande tmux.
Pour récupérer la session tapez la commande tmux attach vous pouvez aussi raccourcir par tmux at.

Pour le reste des commandes n’hésitez pas a regarder le man, vous pouvez par exemple directement lancer des commandes dans un nouvel onglet, voir les faire défiler automatiquement (pratique pour un écran d’affichage de logs).

voici mon fichier de configuration pour tmux (/etc/tmux.conf):

set-option -g prefix C-a
bind C-a send-prefix
bind a last-window

unbind % # Remove default binding since we are replacing
bind | split-window -h
bind "-" split-window -v
bind '"' choose-window
bind l list-session
bind R command-prompt "rename-session '%%'"
bind C new-session
bind g command-prompt "attach -t '%%'"
bind x lock-client
bind X lock-server
bind r source-file /etc/tmux.conf
bind y copy-mode
bind p paste-buffer


# Set status bar
set -g status-bg black
set -g status-fg white
set -g status-left-length 30
set -g status-left '#[fg=green][ #S => #H #[default]'

# Highlight active window
set-window-option -g window-status-current-bg red
set -g status-interval 1
set -g status-right '#[fg=green]][ #[fg=white]%d/%m/%Y %H:%M:%S#[fg=green] ]'

# Set window notifications
setw -g monitor-activity on
set -g visual-activity on

# Use mouse to select pane
set -g mouse-select-pane on

# Default index is 1
set -g base-index 1

setw -g clock-mode-colour green
setw -g clock-mode-style 24

set-option -g set-titles on
set-option -g set-titles-string '#S:#I.#P #W'
set-window-option -g automatic-rename on
set-window-option -g xterm-keys on

setw -g aggressive-resize on

set-option -g lock-command '/usr/bin/vlock'

set-option -g default-terminal "screen-256color"
setw -g mode-keys vi

Comme Tmux de base utilise un ^b (Ctrl-b) comme raccourci de controle par défaut, je préfère modifier celui-ci par un ^a (Ctrl-a) comme screen car cela reste plus facile a taper au clavier.

Tres rapidement la liste des touches raccourcis assez fréquament utilisées (précédés de Ctrl-a dans mon cas):

  • a : Change avec la derniere fenetre utilisé (sorte de alt-tab)
  • c : Nouvel onglet
  • C : Nouvelle session
  • | : Sépare l’ecran verticalement
  • – : Sépare l’ecran horisontalement
  • fleches : se déplacer entre les fenêtres (quand l’ecran est séparé)
  • control-fleches : Redimensionner la fenêtre active (quand l’écran est séparé)
  •  » : liste des « tabs »
  • s : Liste les sessions
  • D : Déconnecter un client de la session (ex: fermer un tmux à distance)
  • y : Copier le texte (les fleches pour déplacer le curseur, espace commencer la sélection, enter pour valider)
  • p : Coller (le texte selectioné parcédament)
  • pgup / pgdown : historique de la fenetre en cours
  • ? : Liste tous les raccourcis clavier

Voila de quoi bien commancer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.