Mythes et légendes de l'Open source et des Logiciels Libres
Gnu Screen
1. GNU Screen
Partager son terminal et plus peur
de la perte de connexion !
Bantalabs Team Day, juillet 2011
Stefano Amekoudi
twitter.com/samekoudi | amekoudi@bantalabs.com
Contenu placé sous licence Creative Commons CC BY-SA 3.0 (sauf mention contraire)
2. Qui suis je ?
Stefano Komla AMEKOUDI
Ingénieur IT
Administrateur Système et Réseaux Linux, certifié LPIC-1
Contact
mail : stefano@bantalabs.com
web : http://stefano.amekoudi.org
+ sur
linkedin : http://www.linkedin.com/in/samekoudi
twitter : http://twitter.com/samekoudi
Bantalabs Team Day
08/07/2011 | 2
3. Agenda
● Qu'est ce que s'est ?
● Pourquoi l'utiliser ?
● Comment l'installer ?
● Comment l'utiliser ?
● Un peu de configuration ?
● Pense-bête
● Mon inspiration ?
Bantalabs Team Day
08/07/2011 | 3
4. Qu'est ce que s'est ?
● Outil en ligne de commande (CLI) développé par le
Projet GNU
● émulateur virtuel de terminal
● gestionnaire de fenêtre pour terminal
Bantalabs Team Day
08/07/2011 | 4
5. Pourquoi l'utiliser ?
● Vous est-il déjà arrivé de travailler à distance sur
une machine et de perdre le connexion ? Subir une
coupure de courant ?
● Vous est-il déjà arrivé de commencer un travail dans
un endroit et de vouloir aller le continuer ailleurs
sans tout interrompre ?
● Vous est-il déjà arrivé de vouloir qu'un copain, un
collègue qui ne se trouve pas à côté jette un coup
d'oeil sur ce que vous faîtes dans votre terminal ?
● Vous est-il déjà arrivé d'avoir besoin de plusieurs
shell sur une machine distante et ne pas avoir envie
d'ouvrir un autre terminal et vous reloguer encore ?
Bantalabs Team Day
08/07/2011 | 5
6. Comment l'installer ?
● Disponible sur tous les systèmes Unix et
généralement fourni par les gestionnaires de
paquets
● Debian/Ubuntu
aptitude install screen
● Redhat/Fedora
yum install screen
● Mac OS
Installé par défaut
● Source
Télécharger http://ftp.gnu.org/gnu/screen/
Décompressez
Suivre les instructions dans INSTALL et README
Bantalabs Team Day
08/07/2011 | 6
7. Comment l'utiliser ? (1)
● Premier pas
Lancement
screen
Création d'un nouveau terminal et navigation
ctrl+a c
ctrl+a espace
ctrl+a n / ctrl+a p
ctrl+a backsapce
ctrl+a ''
Détachement
ctrl+a d
Lister les sessions ouverte
screen -ls
Réouverture d'une session
screen -r pid.nom-de-la-session
Bantalabs Team Day
08/07/2011 | 7
8. Comment l'utiliser ? (2)
● Gestion avancée des terminaux
Supprimer un terminal
ctrl+a k
Verrouiller le terminal
ctrl+a x
Renommer les terminaux
ctrl+a A
Nommer une session screen au lancement
screen -S nom-de-la-session
Découper un terminal
ctrl+a S
ctrl+a |
ctrl+a c , ctrl+a Q
ctrl+a Tabulation
Bantalabs Team Day
08/07/2011 | 8
9. Comment l'utiliser ? (3)
● Partage de session ou mode multiutilisateur
Lancement
screen -S nom-session
Activation du mode multiutilsateur
ctrl+a :multiuser on
Autorisation des autres utilisateurs
ctrl+a :acladd utilisateur_2
Connexion des autres utilisateurs
screen -x utilisateur_1/nom-session
Gestiondes droits sur le sesion
ctrl+a :aclchg utilisateur +rwx
ctrl+a :acldel utilisateur
Bantalabs Team Day
08/07/2011 | 9
10. Un peu de configuration ?
● Le fichier de configuration-personnalisation de
screen est : screenrc
● N'existe pas par défaut. Un exemple est dans /etc
cp /etc/screenrc ~/.screenrc
● Trouvez des exemples sur le web
http://forum.ubuntu-fr.org/viewtopic.php?id=390985
http://linux.dsplabs.com.au/gnu-screen-screenrc-configuration-file-p13/
http://stephane.lesimple.fr/wiki/mon_screenrc
Bantalabs Team Day
08/07/2011 | 10
11. Pense-bête
C-a d == Détache le screen.
C-a c == Crée une nouvelle fenêtre.
C-a p == Revient a la fenêtre précédente.
C-a n == Va à la fenêtre suivante.
C-a w == Affiche les fenêtres en bas du terminal.
C-a <numéro> == Envoie a la fenêtre N.
C-a N == Affiche en bas la fenêtre dans laquelle vous êtes.
C-a t == Affiche l'heure en bas du terminal.
C-a A == Renomme la fenêtre actuelle.
C-a C-a == Revient à la fenêtre où vous êtiez.
C-a " == Naviguer entre les fenêtres.
C-a S == Coupe une fenêtre verticalement.
C-a <tab> == Passe a l'espace inférieur (quand on a split).
C-a : == Passe en mode commande.
C-a :resize <nombre> == Change la taille du split.
C-a Q == Ferme les régions d'une fenêtre.
C-a x == Lock le screen. (mot de passe user).
C-a k == Tue une fenêtre (besoin de confirmer).
C-a == Quitte screen. (besoin de confirmer).
Extrait de : http://u-classroom.net/cours/logiciels/gnu_screen_powaa.html#t6
Bantalabs Team Day
08/07/2011 | 11
12. Mon inspiration ?
● man screen
http://www.linuxmanpages.com/man1/screen.1.php
● GNU Screen Project Page
http://www.gnu.org/software/screen/screen.html
● Gentoo wiki : Screen
http://en.gentoo-wiki.com/wiki/Screen
● Cours sur l'outils GNU Screen pour #u-classroom
http://u-classroom.net/cours/logiciels/gnu_screen_powaa.html
● Wikipédia : GNU Screen
http://fr.wikipedia.org/wiki/GNU_Screen
Bantalabs Team Day
08/07/2011 | 12