Comment installer et utiliser la commande Screen sur Fedora Linux
Conditions préalables :
Pour effectuer les étapes démontrées dans ce guide, vous avez besoin des composants suivants :
- Un système Fedora Linux correctement configuré. Si vous n'en avez pas, vous pouvez facilement configurer une machine virtuelle Fedora Linux en utilisant VirtualBox.
- Accès à un utilisateur non-root avec des privilèges sudo. Apprenez-en davantage sur la gestion des permissions sudo en utilisant sudoers.
La commande Screen sur Fedora Linux
Dans Fedora Linux (et la plupart des autres systèmes Linux d'ailleurs), lorsque vous utilisez le terminal, vous n'êtes autorisé à exécuter qu'une seule commande/script à la fois. La console n'accepte aucune nouvelle commande tant que la commande/script en cours n'a pas terminé son exécution.
Cependant, il existe de nombreuses situations où vous souhaitez exécuter plusieurs commandes en parallèle. C'est là que vient la commande "screen". C'est essentiellement un multiplexeur de terminal. Il peut lancer des fenêtres de terminal à l'intérieur du terminal actuel, chaque sous-terminal offrant des fonctionnalités complètes. De plus, l'écran peut également exécuter une commande/script en arrière-plan.
La commande « screen » est dotée de nombreuses fonctionnalités intéressantes. Par exemple :
- Détacher un processus de la session de shell actuelle
- Accès à distance
- Partage de sessions d'écran via SSH
Installation de Screen sur Fedora Linux
La commande « screen » ne fait pas partie des outils intégrés fournis avec Fedora Linux. Cependant, elle est directement disponible dans les dépôts de paquets par défaut.
Tout d'abord, mettez à jour le cache des informations sur le paquet :
sudo dnf makecacheEnsuite, dites à DNF d'installer le paquet screen :
sudo dnf install screenUtilisation de l'approfondissement de l'écran
Raccourcis clavier
Il existe quelques raccourcis clavier qui peuvent transformer considérablement l'expérience utilisateur. Voici quelques raccourcis clavier à garder à l'esprit :
- Détachez la session actuelle : Ctrl + A, d
- Tuez la session “screen” actuelle : Ctrl + A, k
- Allez à l'écran suivant : Ctrl + A, n
- Allez à l'écran précédent : Ctrl + A, p
- Afficher tous les raccourcis clavier : Ctrl + A, ?
Ici, vous appuyez d'abord sur « Ctrl + a », puis sur l'autre touche. Notez que les raccourcis clavier sont sensibles à la casse.
Démarrer une session Screen
Pour lancer une session de terminal, utilisez la commande suivante :
screenAlternativement, nous pouvons lancer la session avec un nom :
screen -S <session_name>
Vous arriverez dans un terminal virtuel. Toutes les commandes et les raccourcis clavier peuvent être affichés en appuyant sur « Ctrl + A, ? ».
Le terminal utilise l'application shell par défaut :
echo $SHELLDans ce terminal virtuel, vous pouvez maintenant exécuter n'importe quelle commande.
Terminaux Multiples
C'est l'une des fonctionnalités les plus puissantes de la commande "screen" : créer plusieurs terminaux virtuels. Nous pouvons passer d'un terminal à l'autre en utilisant les raccourcis clavier.
Disons que nous gardons un œil sur les ressources du système sur le premier écran en utilisant "htop" :
htopMaintenant, créez un nouvel écran en appuyant sur « Ctrl + a, Ctrl + c » :
Disons que nous allons surveiller l'utilisation de l'espace disque :
watch df -hPour revenir à l'écran précédent, appuyez sur « Ctrl + a, p » :
Pour aller à l'écran suivant, appuyez sur « Ctrl + a, n » :
Division des Terminaux
Dans la méthode précédente, nous avons créé des écrans complètement nouveaux pour différentes tâches. Cependant, si le nombre de sessions augmente, il devient difficile de les suivre. De plus, vous voudrez peut-être garder un œil sur toutes les choses sur le même écran.
C'est ici que la séparation terminal intervient. La commande « screen » permet à la fois la séparation horizontale et verticale d'un terminal virtuel. Pour créer une séparation horizontale, appuyez sur « Ctrl + A, | » :
Pour créer une séparation verticale, appuyez sur « Ctrl + a, S » :
Pour passer à un autre écran partagé, appuyez sur « Ctrl + a, Tab ». Une fois que vous avez changé, vous devez créer une nouvelle instance d'écran en utilisant « Ctrl + a, Ctrl + c » :
Fait intéressant, depuis un terminal fractionné, vous pouvez également faire défiler tous les écrans précédents.
Lister toutes les sessions
La commande suivante liste toutes les sessions d'écran en cours d'exécution :
screen -lsDétachement d'un processus
Si vous fermez un terminal, tous les processus enfants sont également terminés. Cela est également vrai pour les terminaux virtuels que nous créons en utilisant "screen". Cependant, screen permet de détacher la commande/procès en cours du terminal virtuel.
Tout d'abord, vérifiez l'arbre des processus pour déterminer les processus attachés au terminal actuel :
pstree <username>Pour détacher une commande/processus en cours d'exécution du terminal virtuel, appuyez sur « Ctrl + A, d » :
Nous pouvons vérifier la liste des processus en cours pour déterminer s'il s'est détaché avec succès :
pstree <username>Rétablissement d'un processus
Tout processus détaché d'une session écran peut être rattaché. Il peut être utile de jeter un œil à un processus d'arrière-plan en cours d'exécution pour le débogage.
Tout d'abord, vérifiez la liste des instances d'écran :
screen -lsIl existe plusieurs façons de rattacher un processus. Nous pouvons le faire en utilisant le nom de session. La structure de la commande est la suivante :
screen -r <session_name>Si une session n'a pas été nommée, vous devez utiliser son PID pour vous y rattacher :
screen -lsAprès avoir déterminé le PID, réattachez le processus en utilisant la commande suivante :
screen -r <session_pid>Fermer les sessions d'écran
Si une session de écran n'est plus nécessaire, il est recommandé de la fermer pour réduire la complexité.
Tout d'abord, vérifiez la liste des sessions en cours :
screen -lsPour tuer une session, attachez-vous à la session et utilisez le raccourci clavier « Ctrl + a, k » :
Il devrait y avoir un message de fin de session :
Conclusion
Nous avons démontré comment installer la commande « screen » sur Fedora Linux. La commande « screen » est un outil puissant pour lancer des terminaux à l'intérieur de terminaux. Nous avons également présenté les diverses manières d'utiliser la commande « screen » : créer de nouvelles sessions, terminer des sessions inutiles, détacher et rattacher les processus, etc.
Joyeux informatique !





























