« Screen » : différence entre les versions
Aucun résumé des modifications |
(désarchivage) |
||
(12 versions intermédiaires par 4 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
= Utilisation = | = Utilisation = | ||
== Commandes en shell == | == Commandes en shell == | ||
Pour lister les screens en cours : | *Pour lister les screens en cours : | ||
screen -ls | screen -ls | ||
Pour reprendre le screen en cours (qui a été détaché) : | *Pour reprendre le screen en cours (qui a été détaché) : | ||
screen - | screen -x | ||
Pour | *Pour reprendre un screen en détachant tous les autres utilisateurs connectés (via un Power Detach) | ||
screen -RD | |||
*Pour faire un screen multi-utilisateurs : Tout le monde se connecte en root ({{c|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 | screen -x nom_du_screen | ||
== Raccourcis clavier dans screen == | == Raccourcis clavier dans screen == | ||
Attention aux majuscules ! | Attention aux majuscules ! | ||
Niveau facile: | |||
* '''ctrl+a k''' : killer la fenêtre en cours | * '''ctrl+a k''' : killer la fenêtre en cours | ||
* '''ctrl+a c''' : créer une nouvelle fenêtre | * '''ctrl+a c''' : créer une nouvelle fenêtre | ||
* '''ctrl+a d''' : détacher le screen | * '''ctrl+a d''' : détacher le screen | ||
* '''ctrl+a 0''' : aller à la fenêtre 0 | |||
* '''ctrl+a 1''' : aller à la fenêtre 1 | |||
Niveau moyen: | |||
* '''ctrl+a [''' ou '''ctrl+a (ESC)''' : permet de remonter dans le buffer | |||
* '''ctrl+a A''' : renomme la fenêtre | |||
* '''ctrl+a p''' : fenêtre précédente | |||
* '''ctrl+a n''' : fenêtre suivante | |||
* '''ctrl+a ?''' : afficher l'aide rapide, détaillée dans la [http://linux.die.net/man/1/screen page de manuel] | |||
Niveau avancé: | |||
* '''ctrl+a S''' : splitter le screen en 2 (haut-bas) | * '''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 |''' : splitter le screen en 2 (gauche-droite) /!\ ne marche pas partout (pas sur mac) | ||
* '''ctrl+a Q''' : retour à une seule fenêtre, sans split | |||
* '''ctrl+a tab''' : passer à la fenêtre suivante dans une vue splittée | * '''ctrl+a tab''' : passer à la fenêtre suivante dans une vue splittée | ||
* '''(ctrl+a)*2''' : voir la fenêtre suivante | * '''(ctrl+a)*2''' : voir la fenêtre suivante | ||
= Configuration = | = Configuration = | ||
Ligne 45 : | Ligne 64 : | ||
# Message qui s'affiche (et qui émet un bip car '^G') lors d'un bip dans une fenêtre en arrière plan | # 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" | bell_msg "^GBell in window %n" | ||
== La barre de status == | |||
Voici deux lignes assez utiles à copier dans ~/.screenrc afin de disposer d'une barre de status qui indique les différentes fenêtres | |||
caption always | |||
caption string "%{= g}[ %{G}${USER}@%H%{g} ][%= %{= w}%?%-Lw%?%{r}(%{W}%n*%f %t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c:%s %{g}][%{Y}%l%{g}]%{=b C}%{W}" | |||
[[Catégorie:IRC]] |
Version actuelle datée du 14 avril 2023 à 21:52
Utilisation
Commandes en shell
- Pour lister les screens en cours :
screen -ls
- Pour reprendre le screen en cours (qui a été détaché) :
screen -x
- Pour reprendre un screen en détachant tous les autres utilisateurs connectés (via un Power Detach)
screen -RD
- Pour faire un screen multi-utilisateurs : Tout le monde se connecte en root (
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 !
Niveau facile:
- 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 0 : aller à la fenêtre 0
- ctrl+a 1 : aller à la fenêtre 1
Niveau moyen:
- ctrl+a [ ou ctrl+a (ESC) : permet de remonter dans le buffer
- ctrl+a A : renomme la fenêtre
- ctrl+a p : fenêtre précédente
- ctrl+a n : fenêtre suivante
- ctrl+a ? : afficher l'aide rapide, détaillée dans la page de manuel
Niveau avancé:
- 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 Q : retour à une seule fenêtre, sans split
- 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"
La barre de status
Voici deux lignes assez utiles à copier dans ~/.screenrc afin de disposer d'une barre de status qui indique les différentes fenêtres
caption always caption string "%{= g}[ %{G}${USER}@%H%{g} ][%= %{= w}%?%-Lw%?%{r}(%{W}%n*%f %t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c:%s %{g}][%{Y}%l%{g}]%{=b C}%{W}"