Si vous êtes un utilisateur Linux, vous devrez commencer avec le terminal Linux à un moment donné. Certaines commandes de terminal peuvent être populaires, d'autres obscures, mais dans de nombreux cas, il est plus facile d'exécuter une commande via une fenêtre de terminal que via une interface graphique.
Mais que se passe-t-il si vous devez exécuter plusieurs commandes à la fois ? GNU Screen facilite le multitâche du terminal comme celui-ci; commençons à l'utiliser.
GNU Screen est un outil pour le terminal Linux qui divise un terminal en plusieurs. Cela signifie que vous pouvez exécuter une commande, disons un
wget
téléchargement d'un fichier image, tout en passant à l'exécution d'un second, tel que
systemctl
, pour vérifier le S.M.A.R.T. état de votre lecteur.
Il vous permet d'exécuter des commandes indépendantes comme celles-ci dans des sessions séparées auxquelles vous pouvez vous connecter et vous déconnecter à volonté.
Ce n'est pas seulement utile pour votre propre PC; c'est presque essentiel si vous gérez un serveur distant. Si vous exécutez des commandes sur un serveur via SSH, que se passe-t-il si vous vous déconnectez ? La commande est peut-être toujours en cours d'exécution, mais vous ne pourrez pas facilement la surveiller ou interagir avec elle.
Screen s'occupe de ce problème pour vous. Vous pouvez vous reconnecter à une session Screen si vous perdez la connexion, ou vous en détacher et la laisser fonctionner en arrière-plan jusqu'à ce que vous ayez besoin d'y accéder à nouveau.
Screen n'est pas fourni avec la plupart des distributions Linux, mais comme il est antérieur à Linux, il est bien pris en charge.
Si vous souhaitez l'installer sur une distribution basée sur Ubuntu ou Debian, exécutez ce qui suit :
sudo apt-get update
écran d'installation sudo apt-get
De même, si vous utilisez Arch, ouvrez votre fenêtre shell et exécutez :
sudo pacman -Syu
écran sudo pacman -S
Si vous utilisez Fedora, exécutez ceci à la place :
mise à jour sudo yum
écran d'installation de sudo yum
Démarrer une session Screen est simple. Ouvrez un terminal ou établissez une connexion SSH, puis saisissez screen
. Vous verrez la fenêtre d'introduction de l'écran ; appuyez sur espace ou votre touche entrée pour le fermer.
Une fois que vous l'aurez fait, l'écran de votre terminal reviendra à la normale. Il n'y aura aucun signe évident que vous exécutez une session Screen, mais chaque commande que vous exécutez à partir de ce point sera exécutée dans une session que vous pouvez maintenant détacher et rattacher à volonté.
Vous voudrez savoir comment vous connecter et vous déconnecter d'une session Screen si vous prévoyez de l'utiliser à nouveau. Si vous êtes déjà dans une session Screen, appuyez sur Ctrl + A suivi de la lettre d (minuscule).
La session et toutes les commandes en cours d'exécution à l'intérieur de celle-ci se détacheront pour s'exécuter en arrière-plan, prêtes à être reconnectées ultérieurement. En supposant que vous n'ayez qu'une seule session Screen en cours d'exécution, saisissez :
écran -r
Cela rattachera votre session et vous permettra de continuer. Si vous devez détacher de force une session à distance, puis vous y reconnecter vous-même, saisissez :
écran -rd
Vous pouvez exécuter plusieurs sessions Screen. Si vous souhaitez vous reconnecter à une session spécifique, vous devrez connaître le numéro d'identification du processus de session. Tapez
écran -ls
ou
écran -r
pour les lister.
Comme le montre l'image ci-dessus, saisissez
écran -r
suivi du numéro d'identification initial au début de chaque session. Par exemple :
écran -r 25407
Si vous souhaitez fermer une session et annuler toutes les commandes en cours d'exécution, reconnectez-vous et tapez
quitter
.
Screen a quelques astuces dans sa manche pour les utilisateurs qui veulent en tirer le meilleur parti. Voici quelques-unes des commandes de terminal les plus courantes dont vous devez vous souvenir.
Comme tous les bons programmes de terminal, Screen propose des raccourcis clavier que vous pouvez utiliser. Vous en utilisez déjà un, Ctrl + A et d , pour détacher des écrans existants.
Si vous voulez voir le reste, tapez simplement Ctrl + A suivi de ? pour vous donner une liste avec laquelle vous pouvez travailler.
Vous n'avez pas besoin de basculer entre les sessions pour exécuter des commandes ; vous pouvez également basculer entre les fenêtres en une seule session.
Pour créer une nouvelle fenêtre dans votre session, appuyez sur Ctrl + A suivi de c (minuscule) pour créer une nouvelle fenêtre. Votre première fenêtre commence au numéro 0 , votre prochaine fenêtre 1 , etc.
Appuyez sur Ctrl + A puis filtrez les chiffres de 0 à 9. Pour les répertorier, utilisez Ctrl + A puis w (minuscules) pour voir une liste de sessions avec un identifiant à un chiffre.
Un identifiant généré aléatoirement est difficile à retenir; donner un nom à votre session peut faciliter les choses. Si vous souhaitez démarrer une session avec un nom, tapez :
écran -S examplename
Si vous souhaitez vous reconnecter à cette session par son nom, saisissez :
écran -X examplename
Envie de partager une session terminale avec un collègue ou un ami ? Grâce à Screen, c'est possible. Saisissez :
écran -rx
Plutôt que de détacher toute personne actuellement connectée à cette session, vous la rejoignez simplement. Les autres utilisateurs verront ce que vous tapez et les commandes que vous exécutez; vous pourrez également surveiller les autres utilisateurs s'ils font de même.
Vous devrez peut-être enregistrer votre sortie d'écran dans un fichier pour des raisons de maintenance ou d'audit. Pour ce faire, tapez :
écran -L
Une session démarrera avec la possibilité de se connecter à un fichier portant le nom screenlog.x (où X est un nombre commençant à zéro) dans votre répertoire personnel. Pour démarrer un journal dans une session, tapez Ctrl + A suivi de H (Maj + h ).
Si vous souhaitez protéger une session d'écran, vous pouvez verrouiller la session avec votre mot de passe Linux existant.
Tapez Ctrl + A suivi de x (minuscules) pour verrouiller une session pendant que vous y êtes actuellement connecté.
Cela le verrouille dans votre fenêtre de terminal actuelle ; saisissez le mot de passe de votre compte pour le déverrouiller.
Grâce à GNU Screen, vous n'avez pas à vous soucier d'attendre la fin d'une commande de terminal. C'est utile si vous cherchez à contrôler des serveurs distants, mais c'est aussi un excellent outil pour votre PC domestique si vous devez exécuter plusieurs commandes à partir d'une seule fenêtre.
C'est l'outil parfait pour les administrateurs système. Cependant, ce n'est pas la seule commande pour votre boîte à outils de terminal Linux, c'est pourquoi vous devriez mettre en signet cette feuille de triche des commandes Linux importantes.