GNU Screen & Retty

closeCet 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 retty

on 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

Trackback URL

, , ,

No Comments on "GNU Screen & Retty"

Hi Stranger, leave a comment:

ALLOWED XHTML TAGS:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Subscribe to Comments
Get Adobe Flash playerPlugin by wpburn.com wordpress themes