Retourner au contenu. Retourner à la navigation

 

Screen : Un window manager en mode texte

by toudou @ 11/10/2005
Voici un petit programme vous permettant d'utiliser un environnement multi-fenêtré en mode texte.

Screen

Pour quels besoins ?

Avec Linux, travailler en mode texte est chose courrante. Vous avez à votre disposition 6 terminaux virtuels et autant (théoriquement) que vous voulez de terminaux sous X (Eterm, aterm, xterm ..). Cependant malgrès les efforts de Konsole et Gnome-terminal pour fournir des tabs, la gestion multiple d'applications en mode texte reste assez laborieuse.

Autre cas de figure assez déplaisant :

Vous vous connectez en ssh à un serveur pour faire une mise à jour intégrale du type cvsup. Tout se passe pour le mieux et d'un coup (au bout d'une petite heure généralement) une déconnexion survient vous faisant savoir de manière très polie que vous avez dépassé le timeout. Ceci a pour conséquence évidente de stopper votre jolie compilation en cours.

La solution

Pour eviter celà et profiter pleinement de votre mode texte, "screen" est la pour vous. Il s'agit (description du man) d'un window manager plein écran qui permet de multiplexer des terminaux physiques (et virtuels). En bref il s'agit d'un petit programme qui vous permet d'utiliser un système multi-fenêtré dans un environnement en mode texte. Nous n'allons voir ici qu'un petit nombre de fonctions vous permettant de découvrir "screen", je vous invite à lire le man pour une liste exhaustive de ses possibilités.

Démarrage

Vous pouvez obtenir screen à l'adresse suivante :

ftp://ftp.cs.univ-paris8.fr/mirrors/ftp.gnu.org/screen/

Il est également possible d'obtenir les paquetages pour gentoo ou Debian.

Une fois l'installation terminée executez simplement :

#screen

Au début rien de palpitant, un terminal classique s'offre à vous. Pour commencer nous allons créer une nouvelle fenêtre.

Pour cela saisissez :

C-a C-c (1) (lire Contrôle-a Contrôle-c)

La encore, la première impression est plutôt décevante, rien ne donne l'impression de changement.

Saisissez alors la commande de vos rêves (par exemple ls) puis saisissez:

C-a C-p

Et vous revoila sur la première fenêtre. Saisissez encore une fois la combinaison (2) pour revenir sur votre seconde fenêtre, ou la combinaison (1) pour en créer une nouvelle.

Les opération courantes

Pour utiliser avec plus de facilité le mécanisme multi-fenêtré, vous pouvez donner des noms à chaque fenêtre.

Rendez-vous sur votre première fenêtre et saisissez :

C-a A (3)

En bas de la fenêtre devrait s'afficher le message suivant :

Set window's title to: bash

Remplacez "bash" par le nom que vous voulez.

Renouvelez l'opération pour la deuxième fenêtre (2) puis (3).

Maintenant pour voir la liste de vos fenêtre saisissez :

C-a " (4)

Devrait alors s'afficher une liste de vos deux fenêtres :

Num Name                                                                   Flags

0 admin $
1 window1 $

Utilisez les touches fléchées pour séléctionner une fenêtre et appuyez sur "entrée" pour vous y rendre.

Faisons mieux, rendez vous dans la fenêtre que vous voulez et saisissez :

C-a S (5) (respectez la casse !)

Votre fenêtre devrait alors se diviser en deux horizontalement. Pour vous rendre dans la zone du bas saisissez

C-a (6)

Effectuez maintenant la combinaison (4) pour selectionner l'autre fenêtre pour l'afficher dans la zone que vous venez de créer.

Pour détruire une zone voulue, rendez-vous sur elle avec la combinaison (6) puis saisissez

C-a X (7)

Pour détruire une fenétre saisissez

C-a K (8)

Détachement et lock screen

Finissons cette présentation de "screen" en exposant des fonctionnalités de détachement et de lock. Revenons au cas de figure présenté en introduction (cvsup + ssh). Maintenant que vous possédez screen , lancez une nouvelle session avant d'effectuer les opérations souhaitées.

Ensuite pendant que la compilation (ou toute autre opération ) s'effectue saisissez :

C-a C-d (8)

Vous reviendrez alors sur le shell depuis lequel vous avez lancé votre session "screen". Vous pouvez alors vous déconnecter totalement dela machine tout continuera à s'executé côté serveur.

Reconnectez vous ensuite en ssh et saisissez

#screen -R

Ceci vous restorera votre session precédente.

Enfin si vous voulez verouiller votre session courrante saisissez simplement

C-a C-x (9)

Voilà ainsi s'achève notre petite présentation, en espérant que celà vous sera utile.

Par toudou Dernière modification 22/03/2007 15:40
Navigation
Actualités
15/09/2008 Sortie de la version VLC 0.9.2
23/06/2008 Opération du libre à Nantes !
23/06/2008 OpenSuse 11
18/06/2008 Firefox 3 !
09/06/2008 Linux Pratique Essentiel
Plus d'actualités...
Articles
22/05/2008 Première approche de Qmail
19/05/2008 Test de la distribution Elive 1.0 Gem
14/05/2008 GNUPG introduction à la cryptographie et utilisation de GnuPG
21/02/2008 GNU / Screen
03/09/2007 The Linux File System Encryption API
More articles
Tips
28/04/2008 Mozilla Firefox : Google Talk et Facebook Chat
22/04/2008 Sed : Rechercher du texte entre deux chaines de caractères
04/04/2008 Gérer son(ses) écran(s) avec xrandr
26/03/2008 Tips sur l'historique de vos commandes
13/02/2008 Linux-Unix Cheat Sheets
More tips
Codes
09/04/2008 Chapitre 13 - Administration DNS et DHCP
09/04/2008 Chapitre 06 - Service web avec Apache
04/04/2008 Chapitre 09 - PureFTPd
04/04/2008 Chapitre 06 - Scripting Bash
01/04/2008 Chapitre 20 - Haute Disponibilité
More codes
Courses
13/09/2006 Module 3
23/02/2006 Module 2
23/02/2006 Module 1
More courses
Formation Linux

Supinfo Training Center has the first Linux Certification. The training is 13 days and allow you to pass the LPI 101 and 102.

more info
 
 
Vous êtes ici :