Si vous n’utilisez pas screen
au quotidien, c’est, soit que vous n’en avez pas entendu parlé, soit que vous n’êtes pas administrateur. A l’instar de nohup
, screen
vous permet de ne pas perdre le fil de vos scripts et opérations en cours. Non seulement screen
est beaucoup plus simple d’utilisation que nohup
, mais la commande permet de travailler sans script, de collaborer, utiliser plusieurs terminaux et même de tracer vos opérations. Je vous propose de trouver quelques cas d’utilisation de screen
si dessous.
Perdre et reprendre ses sessions
L’utilisation de screen est extrêmement simple. Pour débuter, lorsque vous êtes connecté à un serveur Linux (ou Unix avec screen installé), tapez simplement :
screen
Et voilà : vous ne pouvez plus perdre votre session, sauf si, bien sur, vous sortez de screen
avec la commande exit
. Faites maintenant l’expérience suivante, tapez quelques commandes (ls
, rm
, mkfs
, etc…) puis fermez brutalement votre terminal ou votre session Putty. Pour récupérer les opérations en cours, reconnectez vous avec le même utilisateur à votre serveur Linux et repérez les sessions screen
en cours avec la commande ci-dessous :
screen -ls
There is a screen on:
19693.pts-0.arkzoyd-easyteam (04/24/2010 12:57:58 PM) (Detached)
1 Socket in /var/run/screen/S-root.
Pour vous attacher de nouveau à votre session perdue, tapez :
screen -r 19693.pts-0.arkzoyd-easyteam
ou plus simplement:
screen -r pts-0
Quelques Notes:
- Vous pouvez nommer votre session screen avec
-S
pour la retrouver plus facilement- Vous pouvez vous détacher de votre session à tout moment pour vous y attacher de nouveau plus tard en tapant
Ctrl+a
puisCtrl+d
Partager une session à plusieurs
Une autre fonctionnalité intéressante de screen
est la capacité de s’attacher à plusieurs au même écran. Pour en faire l’expérience, lancez 2 terminaux connecté au même utilisateurs sur votre serveur Linux. Sur le premier terminal, tapez
screen
sur le second, repérez la session screen
puis utilisez screen -x
pour vous y attacher :
screen -ls
There is a screen on:
20697.pts-0.arkzoyd-easyteam (04/24/2010 02:52:32 PM) (Attached)
1 Socket in /var/run/screen/S-root.
screen -x -r 20697.pts-0.arkzoyd-easyteam
Tapez alors des commandes dans l’un et l’autre de vos terminaux et constatez qu’ils sont effectivement partagés. Vous pouvez faire la même chose depuis 2 ordinateurs situés chacun à l’autre bout du monde.
Journaliser ses opérations
Si vous êtes administrateur, enregistrez l’ensemble des opérations que vous effectuez est souvent très utile. Bien sur, vous pouvez utiliser la commande script
. Vous pouvez surtout utiliser l’option -L
de screen
qui génère un fichier journal. Vous pouvez également à tout moment activer la journalisation à l’aide des combinaisons de touche Ctrl+a
puis H
.
Pour en savoir plus
Si vous ne connaissiez pas encore, screen
deviendra sans doute bientôt une de vos commandes préférée. Pour en savoir plus, utilisez la combinaison de touche Ctrl+a
puis ?
, tapez man screen
ou encore info screen
. Aucun doute que vous personnaliserez bientôt vos environnements avec les fichiers de ressources