Tmux/fr

From OpenSimulator

Revision as of 08:09, 19 October 2020 by Djphil (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Tmux est un multiplexeur de teminaux: il autorise un certain nomnbre de terminaux (ou fenetres), à être lancés dans un programme séparé, à être créés accédés et controlés depuis un seul écran. Tmux peut être détaché d'un écran et continuer à fonctionner en arrière plan puis être rattachés plus tard.

Beaucoup de monde utilise GNU Screen pour exécuter OpenSimulator mais Tmux offre quelques bons outils pour améliorer la tâche.

Tmux fonctionne globalement comme Screen à part que la combinaison de touches par défaut pour lancer une commande est ctrl+b au lieu de ctrl+a.

Un cours rapide (en anglais) est disponible içi.

Contents

Installation

Debian

sudo aptitude install tmux

Si vous voulez utiliser ctrl+a à la place de ctrl+b et ajouter quelques raccourcis intéressants, vous pouvez utiliser un fichier ~/.tmux.conf et ajouter dedans

# remappe le prefix en Control + a
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# force un rechargement du fichier de configuration
unbind r
bind r source-file ~/.tmux.conf
# basculer rapidement entre les panneaux
unbind ^A
bind ^A select-pane -t :.+

Lancer des sessions

Vous pouvez démarrer une session en utilisant la syntaxe :

tmux new -s my_session_name

pour détacher la session, vous pouvez utiliser le raccourci ctrl+b d

Ensuite vous pouvez utiliser l'interrupteur "-t" (target = cible en français) afin de cibler une session pour une commande.

tmux attach -t my_session_name

Fenetres et panneaux

Fenetres

Tmux a la possibilité d'utiliser des onglets pour l'affichage. Les onglets sont appellés "windows" (fenetres). Vous pouvez creer une fenetre en utilisant le raccourci ctrl+b c Basculez ensuite entre les fenetres avec ctrl+b [0-9]

Panneaux

Tmux a la capacité de couper une fenetre en plusieurs panneaux appelés "panes". Pour couper verticalement, utilisez le raccourci ctrl+b " Pour couper horizontalement, utilisez le raccourci ctrl+b % Pour déplacer le curseur entre les panneaux, utilisez le raccourci ctrl+b puis les fleches du clavier Si vous gardez les touches enfoncees en même temps, vous pouvez redimentionner le panneau actuel.

Partager des sessions

Voici la partie interessante pour utiliser Tmux avec OpenSimulator. La session est partagée en utilisant un "socket" et les utilisateurs partageant la session doivent être autorisés à écrire dans ce socket.

Preparer la place

Nous allons créer un groupe et y ajouter tous les utilisateurs devant partager la session. Nous allons créer un dossier dans le dossier /tmp pour héberger le socket. Nous allons donner l'autorisation en ecriture au groupe sur le dossier du socket.

groupadd tmux-share
addgroup tmux-share myuser
addgroup tmux-share myotheruser
mkdir /tmp/tmux-share
chgrp tmux-share /tmp/tmux-share
chmod -R 2775 /tmp/tmux-share

Créer la session

tmux -S /tmp/tmux-share/1 new-session -s mysession

Joindre la session

tmux -S /tmp/tmux-share/1 attach -t mysession

Envoyer des commandes à la session

Il peut être utile d'envoyer des commandes aux sessions en utilisant un script bash ou autre chose. Pour faire cela, vous pouvez utiliser une syntaxe comme celle ci :

tmux send-keys -t mysession:1 "ls" C-m

donc si vous voulez envoyer des commandes en utilisant un socket :

tmux -S /tmp/tmux-share/1 send-keys -t mysession:1 "ls" C-m

journaliser la sortie

Afin de vous épargner des heures de recherche pour la réponse, voici une version de commande qui devrait fonctionner :

tmux -S /tmp/tmux-share/test new -s test1
tmux -S /tmp/tmux-share/test pipe-pane -o -t test1 'cat >> tmux.log'
Personal tools
General
About This Wiki