Screen
Screen est un multiplicateur de terminal.
Cette commande permet d'avoir plusieurs consoles au sein d'une seule.
A mon avis, l'avantage principal de cette commande, est de supprimer tous les risques liés à une déconnexion de la console principale.
Effectivement, en cas de perte de la connexion à la console, toutes les commandes en cours d'exécution sont automatiquement stoppées.
Avec screen, toutes les commandes continuent à s'exécuter.
Pour l'installer et l'utiliser, il faut obligatoirement être en mode sudo :
$ sudo apt-get install screen
Utilisation de screen
- Pour ouvrir une console screen :
$ sudo screen -S ma_console
Exécution de screen avec l'option "-S" qui permet de nommer la nouvelle console en "ma_console".
- Obtenir de l'aide dans screen :
Appuyer sur les touches ctrl + a puis sur shift + ?
Pour quitter l'aide, appuyer sur espace
- Pour quitter une console screen :
Taper exit
puis appuyer sur entrée
Ou appuyer sur les touches ctrl + d
- Pour revenir à la console principale sans fermer la console screen :
Appuyer sur les touches ctrl + a puis sur d
Une fois dans la console principale, il est possible de lister les différentes consoles ouvertes avec screen sachant qu'il est tout à fait possible d'ouvrir plusieurs consoles différentes.
$ sudo screen -ls
There is a screen on:
25065.ma_console (14/12/12 14:48:52) (Detached)
1 Socket in /var/run/screen/S-root.
Ci-dessus, apparait la mention "Detached" signifiant qu'une console "ma_console" est en cours d'exécution en arrière plan.
Dans le cas où il y aurait plusieurs consoles.
$ sudo screen -ls
There are screens on:
25169.ma_console3 (14/12/12 14:54:51) (Detached)
25165.ma_console2 (14/12/12 14:54:45) (Detached)
25065.ma_console (14/12/12 14:48:52) (Detached)
3 Sockets in /var/run/screen/S-root.
Ci-dessus, apparait la liste de toutes les consoles en cours d'exécution avec leurs différents noms.
- Pour retourner dans une console :
$ sudo screen -R 25065
Permet de retourner dans la console nommée "ma_console" et portant le pid "25065".
Il est important de préciser le pid de la console dans le cas où leurs noms seraient similaires (comme dans l'exemple ci-dessus : ma_console, ma_console2, ma_console3).
Sinon, le nom est suffisant.
$ sudo screen -R ma_console
- Créer plusieurs fenêtres dans une console screen :
Il est possible de créer une multitude de fenêtres en appuyant sur les touches ctrl + a puis sur c.
La liste des fenêtres créées apparaît en bas de l'écran (0$ bash 1$ bash 2$ bash 3-$ bash 4$ bash 5$ bash 6$ bash) en appyant sur les touches ctrl + a puis sur w.
Pour passer à la fenêtre suivante, appuyer sur les touches ctrl + a puis sur n (next).
Pour retourner à la fenêtre précédente, appuyer sur les touches ctrl + a puis sur p (previous).
Pour aller à une fenêtre en particulier, appuyer sur les touches ctrl + a puis sur le chiffre correspondant (voir la liste des fenêtres en bas de l'écran).
- Afficher plusieurs consoles screen dans une même fenêtre (split):
Dans une console screen, appuyer sur les touches ctrl + a puis sur shift + s
Une seconde fenêtre vide apparait au dessous.
Pour ouvrir une nouvelle console dans cette fenêtre vide, appuyer sur les touches ctrl + a puis sur tab.
Une fois le curseur dans la nouvelle fenêtre, appuyer sur les touches ctrl + a puis sur c.
Il est possible de spliter l'écran plusieurs fois si nécessaire.
Pour basculer d'un écran à l'autre appuyer sur les touches ctrl + a puis sur tab.
Pour supprimer la fenêtre en cours d'utilisation, appuyer sur les touches ctrl + a puis sur shift + x
Voici, à mon sens, les fonctions les plus utilses de la commande screen.
Personnalisation de screen
Il est possible de personnaliser screen avec un fichier de configuration nommé ~/.screenrc
Voici un fichier tout fait, créé par "bennyben" et que j'utilise personnellement.
Il customise vraiment bien la commande screen.
Son contenu est donc à enregistrer dans un fichier nommé ~/.screenrc
MD5SUM : a2aade4a2d4596b5df7720b3b3c3e904 screenrc.txt
Fichier attaché | Taille |
---|---|
Fichier de configuration de la commande screen | 5.94 Ko |
Ajouter un commentaire