Screen
Utilisation
Commandes en shell
- Pour lister les screens en cours :
screen -ls
- Pour reprendre le screen en cours (qui a été détaché) :
screen -r
- Pour faire un screen multi-utilisateurs : Tout le monde se connecte en root (ou fait 'sudo -s') sur la même machine, quelqu'un créée le screen :
screen -S nom_du_screen
et les autres le rejoignent :
screen -x nom_du_screen
Raccourcis clavier dans screen
Attention aux majuscules !
- ctrl+a k : killer la fenêtre en cours
- ctrl+a c : créer une nouvelle fenêtre
- ctrl+a d : détacher le screen
- ctrl+a S : splitter le screen en 2 (haut-bas)
- ctrl+a | : splitter le screen en 2 (gauche-droite) /!\ ne marche pas partout (pas sur mac)
- ctrl+a tab : passer à la fenêtre suivante dans une vue splittée
- (ctrl+a)*2 : voir la fenêtre suivante
Configuration
Activer les bips
L'objectif de cette section est de configurer les bips du terminal lorsqu'on est dans un screen sur une machine distante.
Identifier la source d'absence des bips
Avant d'activer les bips dans screen, il faut être sûr que l'absence de bips vient bien de screen. Pour cela exécuter la commande suivante dans un ssh (avant de taper screen) qui doit normalement émettre un bip :
printf \\a
Si aucun bip ne sort, c'est que le problème vient du client ssh ou du terminal. Voir les paramètres des logiciels utilisés (Putty) ou les fichiers de configuration.
La bell de screen
La configuration de la bell (qui émet les bips) se trouve dans le fichier de configuration de screen, dans son répertoire perso :
vim ~/.screenrc
Les 3 champs qui nous concernent sont (entres parenthèses, valeurs par défaut si la ligne n'apparaît pas) :
- vbell (on) : booléen
- sur on : vbell (visual bell) activée donc pas de bips, juste des messages
- sur off : vbell desactivée : les bips de la fenêtres actives sont émis mais les bips des fenêtres en arrière plan sont transformés en messages
- vbell_msg ("Wuff --- Wuff !!") : message pour un bip d'une fenêtre active
- bell_msg ("Bell in window %n") : message pour un bib de la fenêtre %n si elle est en arrière plan
Super astuce : si le caractère '^G' apparaît dans un des 2 messages bell_msg et vbell_msg, un bip est émis ! On peut aussi mettre '^G^G' pour émettre un double-bip.
Exemple de configuration :
# On désactive tous les bips (ils seront en fait émis par les '^G' dans les messages) vbell on # Message qui s'affiche (et qui émet un bip car '^G') lors d'un bip dans la fenêtre active vbell_msg "^G*Bell*" # Message qui s'affiche (et qui émet un bip car '^G') lors d'un bip dans une fenêtre en arrière plan bell_msg "^GBell in window %n"