Présentation
screen permet de faire des consoles virtuelles sous GNU/Linux.
À quoi cela sert d’avoir des consoles virtuelles dans une console physique ? C’est complètement idiot !
Pas si idiot que cela ! En effet, imaginez que vous ayez accès à un serveur Linux par le biais de ssh, comme le serveur s’éteind peu ou pas souvent, vous pouvez laisser tourner une application. Et la console virtuelle va vous éviter de fermer votre accès en éteignant par la même le logiciel lancé dans la session.
Grossomodo vous aurez Weechat qui tourne dans une console virtuelle à laquelle vous pouvez accéder de n’importe où pourvu que le serveur soit connecté à internet, laisse passer le port 22 pour la connexion SSH et que vous soyez aussi connecté au net pour aller sur le serveur.
screen propose une façon particulière d’aller sur la console virtuelle, de s’en détacher, s’en rattacher, etc. Nous allons voir les commandes les plus utiles pour faire fonctionner screen.
Installation
Il vous suffit de taper les commandes suivantes sous Debian :
apt-get install screen
De l’utilisation de screen
Pour créer un nouveau screen :
screen -S test
où test désigne le nom de votre screen (et qui permettra plus tard de vous rattacher à celui-ci).
Tapez sur la touche Entrée pour vous rendre dans une console virtuelle nommée test. Cela ne change pas de la console habituelle, sauf si vous faites Ctrl+d ce qui aura pour effet de vous sortir de la console virtuelle.
Une fois dans la console virtuelle, lancez un ls pour tester. Puis faites Ctrl + A, puis tapez sur “d”. Vous sortez de la console virtuelle.
Faites :
screen -ls
Cela vous donnera la liste des screen actuellement lancés. Comme nous l’avons nommé test, nous pourrons nous y connecter à l’aide de la commande suivante :
screen -r test
Si cela ne fonctionne pas, la commande -r (rattacher) manque d’un argument : -d (détacher)
screen -d -r test
Ceci oblige screen à détacher la console virtuelle avant de la rattacher.
Une fois la commande tapée, vous vous retrouverez dans votre console avec le ls.
Pratique non ? Nous disposons alors d’un terminal qui peut être connecté 24/24h 7/7j ! Encore faut il posséder un serveur…