Cet article a été publié il y a 2 ans 7 mois 14 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.GNU Screen est un logiciel libre qui permet « d’émuler un terminal ».
Il est ainsi utile dans le cas ou vous souhaitez lancer un logiciel en ligne de commande et avoir la possibilité de le récupérer soit après avoir redémarré votre interface graphique(gnome,kde, fluxbox…) ou bien depuis un autre poste (irssi qui « tourne » en permanence sur un serveur distant par exemple)
Vous pouvez l’installer à laide de votre gestionnaire de paquets :
Pour Ubuntu
sudo apt-get install screen
Pour Archlinux
yaourt -S screen
Pour créer un Screen on utilise la commande suivante
screen -S monScreen
Vous vous retrouvez dans un nouveau terminal depuis lequel vous pouvez lancer n’importe quelle commande.
Pour terminer un Screen vous pouvez soit utiliser la commande « exit » ou le raccourci [CTRL]+ « d », vous obtenez le message suivant
[screen is terminating]
l’intérêt ici n’est pas de terminer ce Screen mais de le quitter et pouvoir le récupérer par la suite, on parle de détacher un Screen et pour ce faire nous utiliserons le raccourci [CTRL] + « a » suivi de « d »
on obtient le message suivant
[detached]
On peut lister les Screen créés à l’aide de la commande suivante
jlaunay@ToshibaArchLinux ~ $ screen -ls There is a screen on: 26831.monScreen (Detached) 1 Socket in /tmp/screens/S-jlaunay.
Pour le récupérer si il y en a un seul
jlaunay@ToshibaArchLinux ~ $ screen -r
Sinon on spécifie le nom
jlaunay@ToshibaArchLinux ~ $ screen -r monScreen
Il est possible de protéger un Screen à l’aide d’un mot de passe.
Pour cela il suffit de passer en mode commande à l’aide de la combinaison
[CTRL] + "a" suivi de ":"
et de taper la commande « password ».
On vous demande de saisir le mot de passe à deux reprises.
pour verrouiller le Screen
[CTRL] + "a" suivi de "x"
Pour créer une nouvelle session
[CTRL] + "a" suivi de "c"
naviguer entre les sessions
[CTRL] + "a" suivi de "espace"
Pour splitter notre terminal en deux
[CTRL] + "a" suivi de "S"
passer d’une tab à l’autre
[CTRL] + "a" suivi de "TAB"
Il est souvent nécessaire de rattacher à un Screen une commande lancée au préalable, c’est possible en utilisant retty
pour l’installer sur ubuntu
sudo apt-get install retty
sur ArchLinux
yaourt -S rettyon l’utilise de la façon suivante : retty suivi du PID du process a attacher.
on peut au choix
récuperer son PID
ps aux | grep MonProcess | grep -v grep
et faire
retty PID
ou tout simplement
retty `pgrep MonProcess`
Pour terminer cette introduction rapide à GNU Screen voici comment l’utiliser de manière collaborative
Si l’utilisateur 1 est deja en train de travailler dans un Screen, il est impossible pour l’utilisateur 2 d’attacher le sScreen à l’aide de la commande
screen -r MonScreen
Il est par contre tout à fait possible de partager un Screen non détaché avec la commande
screen -x MonScreen
Pour le détail des commandes disponibles utilisez
[CTRL] + "a" suivi de "?"
et la page de manuel de GNU Screen
man screen
No Comments on "GNU Screen & Retty"