Recherche de site Web

20 exemples de commandes d'écran pour gérer les terminaux Linux


Bref : dans ce guide, nous discuterons de quelques exemples utiles de la commande screen. À la fin de ce guide, les utilisateurs seront capables de travailler avec plusieurs sessions shell à l'aide d'une seule fenêtre de terminal Linux.

En tant qu'utilisateurs de Linux, nous devons souvent travailler sur des tâches de longue durée, telles que le téléchargement ou la copie de fichiers volumineux, l'exécution de requêtes de base de données fastidieuses, etc. Parfois, ces tâches importantes sont interrompues brusquement en raison d'un délai d'attente de session.

Pour atténuer de tels scénarios, nous pouvons utiliser la commande screen, qui est un logiciel plein écran qui peut être utilisé pour multiplexer une console physique entre plusieurs processus (généralement des shells interactifs). Il propose à un utilisateur d'ouvrir plusieurs instances de terminal distinctes dans un seul gestionnaire de fenêtres de terminal.

L'application screen est très utile si vous utilisez plusieurs programmes à partir d'une interface de ligne de commande et pour séparer les programmes du shell du terminal. Il vous permet également de partager vos sessions avec d'autres utilisateurs et de détacher/attacher des sessions de terminal.

Dans ce guide, nous verrons comment installer, configurer et utiliser la commande screen sur un système Linux. Tout au long de ce guide, nous comprendrons l'utilisation et les avantages de la commande d'écran à l'aide d'exemples pratiques.

Alors, commençons.

Installer la commande Screen sous Linux

Sur mon Ubuntu Server Edition, la commande screen a été installée par défaut. Mais Linux Mint n'a pas d'écran installé par défaut, je dois donc d'abord l'installer à l'aide de la commande apt-get avant de l'utiliser. .

Veuillez suivre la procédure d'installation de votre distribution pour installer l'écran.

sudo apt-get install screen      [On Debian, Ubuntu and Mint]
sudo yum install screen          [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/screen   [On Gentoo Linux]
sudo apk add screen              [On Alpine Linux]
sudo pacman -S screen            [On Arch Linux]
sudo zypper install screen       [On OpenSUSE]    

Vérifions maintenant que la commande a été installée avec succès :

screen --version

Screen version 4.8.00 (GNU) 05-Feb-20

En fait, le screen est un très bon programme de multiplexage de terminal sous Linux qui est caché dans des centaines de commandes Linux.

Commençons par voir l'utilisation de la commande screen sous Linux avec les exemples suivants.

Syntaxe des commandes d'écran

La syntaxe de la commande screen est la suivante

screen [OPTIONS] [ CMD [ ARGS ] ]

Dans la syntaxe ci-dessus, nous pouvons voir que tous les paramètres sont des options et qu'ils sont représentés par les crochets ([]).

1. Écran de démarrage pour la première fois

Tapez simplement l'écran à l'invite de commande. Ensuite, l'écran affichera une interface exactement comme l'invite de commande.

screen

2. Afficher les paramètres de l'écran

Lorsque vous accédez à l'écran, vous pouvez effectuer tout votre travail comme dans l'environnement de ligne de commande normal. Mais comme l'écran est une application, il comporte donc des commandes ou des paramètres.

Tapez « Ctrl-A » et « ? » sans les guillemets. Ensuite, vous verrez toutes les commandes ou paramètres à l’écran.

Pour sortir de l'écran d'aide, vous pouvez appuyer sur le bouton « barre d'espace » ou sur « Entrée ». (Veuillez noter que tous les raccourcis qui utilisent « Ctrl-A » sont effectués sans guillemets).

3. Comment répertorier toutes les fenêtres ouvertes

Dans l'exemple précédent, nous avons démarré une nouvelle session shell à l'aide de la commande screen. Utilisons maintenant la combinaison de touches ctrl-a + " pour lister toutes les fenêtres ouvertes de la session écran en cours :

Dans la sortie ci-dessus, nous pouvons voir le numéro et le nom de la fenêtre. La première colonne représente le numéro de la fenêtre et elle commence à zéro.

La colonne suivante représente le nom de la fenêtre et son format par défaut est @:.

4. Comment mettre fin à la session de fenêtre d'écran

Nous pouvons terminer la session de fenêtre active en utilisant les combinaisons de touches ctrl-a + k. Il est important de noter que cette action interrompra l’exécution de la commande à partir de la fenêtre virtuelle actuelle.

Dans le résultat ci-dessus, nous pouvons voir que la commande screen attend la confirmation de l'utilisateur. Il affiche le message d'avertissement dans le coin inférieur gauche.

Tout comme les autres commandes Linux, nous pouvons utiliser 'y' pour continuer ou 'n' pour abandonner l'opération.

5. Comment démarrer une session d'écran avec un nom

La commande screen nous permet de créer une session avec un nom défini par l'utilisateur, ce qui est pratique lorsque plusieurs sessions sont disponibles.

Utilisons donc l'option -S de la commande pour créer une session nommée :

screen -S demo-screen

Dans la commande ci-dessus, l'écran de démonstration est le nom de la session.

6. Détachez la session de terminal avec l'écran

L'un des avantages d'un écran est que vous pouvez le détacher. Ensuite, vous pouvez le restaurer sans rien perdre de ce que vous avez fait à l'écran. Voici l’exemple de scénario :

Vous êtes en plein SSH sur votre serveur. Supposons que vous téléchargiez un correctif 400 Mo pour votre système à l'aide de la commande wget.

Le processus de téléchargement est estimé à 2 heures. Si vous déconnectez la session SSH ou si la connexion est soudainement perdue par accident, le processus de téléchargement s'arrêtera. Il faut recommencer depuis le début. Pour éviter cela, nous pouvons utiliser un écran et le détacher.

Jetez un œil à cette commande. Tout d’abord, vous devez entrer dans l’écran.

screen

Ensuite, vous pouvez effectuer le processus de téléchargement. Par exemple, sur mon Linux Mint, je mets à niveau mon package dpkg à l'aide de la commande apt.

sudo apt install dpkg
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be upgraded:
  dpkg
1 upgraded, 0 newly installed, 0 to remove and 1146 not upgraded.
Need to get 2,583 kB of archives.
After this operation, 127 kB of additional disk space will be used.
Get:1 http://debian.linuxmint.com/latest/ 
testing/main dpkg i386 1.16.10 [2,583 kB]
47% [1 dpkg 1,625 kB/2,583 kB 47%]     14,7 kB/s

Pendant le téléchargement en cours, vous pouvez appuyer sur « Ctrl-A » et « d ». Vous ne verrez rien lorsque vous appuierez sur ces boutons. Le résultat sera comme ceci :

[detached from 5561.pts-0.mint]
pungki@mint ~ $

7. Reconnectez la session de terminal avec l'écran

Après avoir détaché l'écran, disons que vous déconnectez votre session SSH et rentrez chez vous. Chez vous, vous recommencez à SSH sur votre serveur et vous souhaitez voir la progression de votre processus de téléchargement. Pour ce faire, vous devez restaurer l'écran. Vous pouvez exécuter cette commande :

pungki@mint ~ $ screen -r

Et vous verrez que le processus que vous avez quitté est toujours en cours.

Lorsque vous avez plus d'une 1 session d'écran, vous devez saisir l'ID de la session d'écran. Utilisez screen -ls pour voir combien d'écrans sont disponibles.

pungki@mint ~ $ screen -ls
pungki@mint ~ $ screen -ls
There are screens on:
        7849.pts-0.mint (10/06/2021 01:50:45 PM)        (Detached)
        5561.pts-0.mint (10/06/2021 11:12:05 AM)        (Detached)
2 Sockets in /var/run/screen/S-pungki

Si vous souhaitez restaurer l'écran 7849.pts-0.mint, tapez cette commande.

pungki@mint ~ $ screen -r 7849

8. Utilisation de fenêtres de terminal à écrans multiples

Lorsque vous avez besoin de plus d'un 1 écran pour faire votre travail, est-ce possible ? Oui c'est le cas. Vous pouvez exécuter plusieurs fenêtres d'écran en même temps. Il existe 2 (deux) façons de procéder.

Tout d’abord, vous pouvez détacher le premier écran et exécuter un autre écran sur le vrai terminal. Deuxièmement, vous créez un écran imbriqué comme indiqué.

Pour créer de nouvelles fenêtres, utilisez la combinaison de touches ctrl-a + c deux fois pour créer deux nouvelles fenêtres. Ensuite, utilisons la combinaison de touches ctrl-a + " pour lister toutes les fenêtres actives :

Dans la sortie ci-dessus, nous pouvons voir qu’il y a désormais trois fenêtres.

9. Comment renommer une fenêtre d'écran

Dans l'exemple précédent, nous avons créé deux nouvelles fenêtres. Cependant, leurs noms par défaut ne fournissent aucun détail à leur sujet. Dans de tels cas, nous pouvons leur attribuer des noms significatifs.

Nous pouvons utiliser la combinaison de touches ctrl-a + A pour renommer la session de fenêtre actuelle. Cette combinaison de touches invite un utilisateur à définir un titre de fenêtre :

10. Basculer entre les fenêtres du terminal d'écran

Dans l'exemple précédent, nous avons créé plusieurs fenêtres. Voyons maintenant comment basculer entre eux.

Tout d'abord, listons toutes les fenêtres actives à l'aide de la combinaison de touches ctrl-a + ". Ensuite, utilisez la touche fléchée vers le haut ou vers le bas pour sélectionner la fenêtre appropriée. Enfin, appuyez sur la touche Entrée pour passer à la fenêtre sélectionnée. fenêtre.

Dans cet exemple, nous avons sélectionné la fenêtre avec le titre – db-query.

11. Comment passer à la fenêtre de l'écran suivant

Nous pouvons utiliser la combinaison de touches ctrl-a + n pour passer aux fenêtres suivantes. Comprenons cela avec un exemple.

Tout d'abord, passez à la première fenêtre et vérifiez-la à l'aide de la combinaison de touches ctrl-a + " :

Maintenant, appuyons deux fois sur la combinaison de touches ctrl-a + n pour accéder à la troisième fenêtre et utilisons la combinaison de touches ctrl-a + " pour vérifier la même chose.

Dans la sortie ci-dessus, nous pouvons voir que nous sommes maintenant sur la troisième fenêtre.

12. Comment passer à la fenêtre de l'écran précédent

De la même manière, nous pouvons utiliser la combinaison ctrl-a + p pour passer à la fenêtre précédente.

Actuellement, nous en sommes à la troisième fenêtre. Utilisons donc deux fois la combinaison de touches ctrl-a + p et vérifions que nous sommes à nouveau sur la première fenêtre :

Dans le résultat ci-dessus, nous pouvons voir que nous sommes maintenant revenus à la première fenêtre.

13. Comment basculer entre la fenêtre actuelle et la fenêtre précédente

Parfois, nous voulons simplement basculer entre deux fenêtres. Dans de tels cas, nous pouvons utiliser la combinaison de touches ctrl-a + ctrl-a.

Pour comprendre cela, passez d’abord à la première fenêtre :

Ensuite, passez à la dernière fenêtre :

Enfin, utilisez la combinaison de touches ctrl-a + ctrl-a pour revenir à la première fenêtre.

14. Comment accéder à une fenêtre d'écran particulière

Dans les exemples précédents, nous avons vu différentes manières de basculer entre les fenêtres. Cependant, nous souhaitons parfois accéder à une fenêtre particulière. Dans de tels scénarios, nous pouvons utiliser les numéros de fenêtre.

Tout d'abord, utilisons la combinaison de touches ctrl-a + " pour trouver le numéro de la fenêtre :

Dans la sortie ci-dessus, la première colonne représente le numéro de la fenêtre. Il est important de noter que la commande screen commence la numérotation à partir de zéro.

Maintenant, utilisons la combinaison de touches ctrl-a + 2 pour passer à la troisième fenêtre et vérifier que nous sommes dans la bonne fenêtre :

15. Comment diviser une fenêtre d'écran horizontalement

Tout comme les terminaux normaux, nous pouvons également diviser la fenêtre de l'écran. Nous pouvons utiliser la combinaison de touches ctrl-a + S pour diviser la fenêtre horizontalement.

Maintenant, nous pouvons utiliser la combinaison de touches ctrl-a + tab pour passer d'une région à l'autre.

Enfin, nous pouvons utiliser la combinaison de touches ctrl-a + X pour supprimer la région actuelle. Il est important de noter qu’ici nous devons utiliser un caractère X majuscule.

16. Comment diviser une fenêtre d'écran verticalement

De même, nous pouvons utiliser la combinaison de touches ctrl-a + | pour diviser verticalement la fenêtre actuelle :

En plus de cela, nous pouvons également utiliser la combinaison de touches ctrl-a + tab pour basculer entre les régions et la combinaison de touches ctrl-a + X pour fermer la région actuelle.

17. Activer la journalisation d'écran sous Linux

Parfois, il est important d'enregistrer ce que vous avez fait pendant que vous êtes dans la console. Disons que vous êtes un administrateur Linux qui gère de nombreux serveurs Linux.

Avec cette journalisation d'écran, vous n'avez pas besoin d'écrire chaque commande que vous avez effectuée. Pour activer la fonction de journalisation d'écran, appuyez simplement sur « Ctrl-A » et « H ». (S'il vous plaît soyez prudent, nous utilisons des lettres majuscules 'H'. L'utilisation de 'h' non majuscule ne créera qu'une capture d'écran de l'écran dans un autre fichier nommé hardcopy) .

En bas à gauche de l'écran, il y aura une notification qui vous demandera d'aimer : Création du fichier journal « screenlog.0 ». Vous trouverez un fichier screenlog.0 dans votre répertoire personnel.

Cette fonctionnalité ajoutera tout ce que vous faites pendant que vous êtes dans la fenêtre d'écran. Pour fermer l'écran et enregistrer l'activité en cours d'exécution, appuyez à nouveau sur « Ctrl-A » et « H ».

Une autre façon d'activer la fonction de journalisation, vous pouvez ajouter le paramètre « -L » lors de la première exécution de l'écran. La commande sera comme ceci.

pungki@mint ~ $ screen -L

18. Verrouiller l'écran du terminal Linux

L'écran dispose également d'un raccourci pour verrouiller l'écran. Vous pouvez appuyer sur les raccourcis « Ctrl-A » et « x » pour verrouiller l'écran. C'est pratique si vous souhaitez verrouiller votre écran rapidement. Voici un exemple de sortie de l’écran de verrouillage après avoir appuyé sur le raccourci.

Screen used by Pungki Arianto  on mint.
Password:

Vous pouvez utiliser votre mot de passe Linux pour le déverrouiller.

19. Ajouter un mot de passe à la session d'écran

Pour des raisons de sécurité, vous souhaiterez peut-être saisir le mot de passe de votre session d'écran. Un mot de passe vous sera demandé chaque fois que vous souhaitez rattacher l'écran. Ce mot de passe est différent du mécanisme de Verrouillage de l'écran ci-dessus.

Pour protéger votre écran par mot de passe, vous pouvez modifier le fichier « $HOME/.screenrc ». Si le fichier n'existe pas, vous pouvez le créer manuellement. La syntaxe sera comme ceci.

password crypt_password

Pour créer le « crypt_password » ci-dessus, vous pouvez utiliser la commande « mkpasswd » sous Linux. Voici la commande avec le mot de passe « pungki123 ».

pungki@mint ~ $ mkpasswd pungki123
l2BIBzvIeQNOs

mkpasswd générera un mot de passe haché comme indiqué ci-dessus. Une fois que vous avez obtenu le mot de passe de hachage, vous pouvez le copier dans votre fichier « .screenrc » et l'enregistrer. Le fichier « .screenrc » ressemblera donc à ceci.

password l2BIBzvIeQNOs

La prochaine fois que vous exécuterez l'écran et le détacherez, un mot de passe vous sera demandé lorsque vous tenterez de le réattacher, comme indiqué ci-dessous :

pungki@mint ~ $ screen -r 5741
Screen password:

Tapez votre mot de passe, qui est « pungki123 » et l'écran se reconnectera à nouveau.

Après avoir implémenté ce mot de passe d'écran et appuyé sur « Ctrl-A » et « x », le résultat ressemblera à ceci.

Screen used by Pungki Arianto on mint.
Password:
Screen password:

Un mot de passe vous sera demandé deux fois. Le premier mot de passe est votre mot de passe Linux et le deuxième mot de passe est le mot de passe que vous avez saisi dans votre fichier .screenrc.

20. Quitter la session du terminal d'écran

Il existe 2 (deux) façons de quitter l’écran. Tout d'abord, nous utilisons « Ctrl-A » et « d » pour détacher l'écran. Deuxièmement, nous pouvons utiliser la commande exit pour terminer l’écran. Vous pouvez également utiliser « Ctrl-A » et « K » pour supprimer l'écran.

Aide-mémoire sur les commandes d'écran

screen -S <session_name>

Démarrez une nouvelle session avec le nom de la session.

screen -ls

Répertoriez les sessions/écrans en cours.

screen -x

Attachez-vous à une session en cours d’exécution.

screen -r <session_name>

Attacher à une session en cours avec le nom.

screen -d <session_name>

Détachez une session en cours d’exécution.

Ctrl-a c

Créez une nouvelle fenêtre.

Ctrl-a Ctrl-a

Passer à la fenêtre active visitée pour la dernière fois.

Ctrl-a <number>

Passer à la fenêtre par numéro.

Ctrl-a ' <number or title>

Passer à la fenêtre par numéro ou par nom.

Ctrl-a n or Ctrl-a <space>

Passer à la fenêtre suivante dans la liste.

Ctrl-a p or Ctrl-a <backspace>

Passer à la fenêtre précédente dans la liste.

Ctrl-a "

Voir la liste des fenêtres.

Ctrl-a w

Afficher la barre de fenêtre.

Ctrl-a k

Tue la fenêtre actuelle.

Ctrl-a \

Tuez toutes les fenêtres.

Ctrl-a A

Renommer la fenêtre actuelle.

Ctrl-a S

Diviser l'affichage horizontalement.

Ctrl-a | or Ctrl-a V

Diviser l'affichage verticalement.

Ctrl-a tab

Passer à la région d'affichage suivante.

Ctrl-a X

Supprimer la région actuelle.

Ctrl-a Q

Supprimez toutes les régions sauf celle actuelle.

Ctrl-a H

Activer la connexion à la session d'écran.

Ctrl-a x

Écran verrouillé (protection par mot de passe).

C'est une partie de l'utilisation quotidienne des commandes screen. Il existe encore de nombreuses fonctionnalités dans la commande d'écran. Vous pouvez consulter la page de manuel d'écran pour plus de détails.

Connaissez-vous un autre meilleur exemple de commande screen sous Linux ? Faites-nous part de votre point de vue dans les commentaires ci-dessous.