IMB > cellule > Environnement informatique > FAQ > Astuces

Multiplexeurs de terminaux : les commandes screen et tmux

 Le principe :
Démarrer un terminal virtuel
ssh serveur # ex : ssh servisu
screen -S mon_screen # pour créer une session (screen ou terminal) virtuelle persistante nommée "mon_screen"
ctrl-a ctrl-d # pour se détacher de cette session. On peut alors se déconnecter du serveur distant i.e.arrêter le ssh

 attention : le ctrl-a sert à piloter screen, cette séquence est intercéptée par screen. Pour faire un ctrl-a il faut taper ctrl-a a

 Plus tard :

ssh serveur # ex : ssh servisu
screen -ls # pour voir les sessions screen ouvertes
screen -r mon_screen # pour revenir à la session nommée "mon_screen" (ou simplement screen -r si une seule session en cours)

Pour supprimer un screen :
 se rattacher au screen screen -ls  ; screen -r mon_screen
 taper la commande exit dans cette session

 pour avoir la documentation intégrée à screen : ctrl-a ?

 autre solution similaire mais plus puissante : tmux qui permet plusieurs sessions sur un même écran (ou terminal)

Petite doc à améliorer :

   tmux a : (attache une session existante)
       ctrl-b + c : “create” une fenêtre
       ctrl-b + % : “split horiz” une fenêtre
       change de fenêtre
           ctrl-b + “flèche” : pour changer de fenêtre
           ctrl-b + p : “previous” fenêtre
           ctrl-b + n : “next” fenêtre
     ctrl-b [ : passe en mode scroll ⇒ pageUP pageDOWN ou flèches
     ctrl-b ? : help bindings
     ctrl-b x y : kill current pane

    ctrl-b :kill-session : kill tout le tmux

  tmux ls : list sessions