#language fr ||~-Traduction(s): Français|| ---- <> = Screen = Screen est un multiplexeur de terminal qui permet entre autre: * de garder un (ou plusieurs) shells ouvert sans forcément avoir d'utilisateur de connecté à la machine. * de visualiser à plusieurs la même chose (plusieurs users se connecte au même screen et vois la même chose). * avoir plusieurs terminaux facilement switchable même en tty. * laissé des logiciels tournés et pouvoir interagir avec depuis l'extérieur (ssh) == Installation == Screen étant disponible dans les dépôts de Debian, l'installation est comme d'habitude toute simple: {{{ aptitude install screen }}} Le fichier de configuration "global" est {{{/etc/screenrc}}} On peut créer un fichier de configuration personnel {{{~/.screenrc}}} == Utilisation == === Commandes === Voici quelques commandes de base (pour créer un screen, se reconnecter, ...) : {{{#!highlight bash # Créer un screen nommé toto: screen -S toto # Lister les screen disponibles: screen -ls # Se connecter au screen toto screen -x toto # Se connecter au screen avec l'id 3002 screen -x 3002 # Se connecter automatiquement à un screen (si un seul disponible): screen -x }}} === Raccourcis clavier === Une rapide liste de raccourcis: || '''CTRL+a CTRL+a''' || Revenir au terminal précédent || || '''CTRL+a {0,9}''' || Aller au terminal n°x || || '''CTRL+a p''' || Aller au terminal précédent || || '''CTRL+a n''' || Aller au terminal suivant || || '''CTRL+a "''' || Afficher la liste des terminaux disponibles et on peut choisir avec le numéro ou les flèches || || '''CTRL+a A''' || Renommer le terminal courant || || '''CTRL+a d''' || Détacher le terminal. Il reste accessible! || || '''CTRL+a S''' || Spliter le terminal en 2 || || '''CTRL+a TAB''' || Basculer sur le split suivant || || '''CTRL+a X''' || Fermer le split courant || || '''CTRL+a x''' || Verrouiller le screen avec le mot de passe de l'utilisateur courant || '''CTRL+a''' est en fait la combinaison par défaut qui permet de faire appel au raccourcis de screen. Cette combinaison peut bien évidemment être changée (utile dans le cas de multi-screen: un screen lancé dans un autre screen). === Fichier de configuration === Pour modifier le comportement de screen (création de terminal automatique, raccourcis, …) on peut utiliser un fichier de configuration que l'on chargera lors de la création du screen: {{{ screen -c ~/.screen/scr.toto }}} Exemple de fichier de configuration: {{{#!highlight bash # Combinaison pour appeler les raccourcis: CTRL+e escape "^Ee" # Pour faire le "^E" dans vim, il faut faire la combinaison de touche: CTRL+v CTRL+e ## Exemple de raccourcis: bindkey ² prev # aller dans au terminal précédent bindkey = next # aller au terminal suivant # Barre de statut en bas du screen pour lister les screens, l'heure, la machine, ... # heure (avec secondes), nom de la machine en rouge, load de la machine # puis list des fenêtres avec celle courante en jaune, le tout en fond bleu #hardstatus alwayslastline "%{s gB}%{b kB}%c:%s%{b kB} %{b kR}%H %{b kB}%{s yB}%l%{b kB} %{b kB}%{rs Y}%-Lw%{BY}%50>%n%{R}%f%{B} %t%{YB}%+Lw%<" # Même ligne avec fond noir hardstatus alwayslastline "%{b kB}%{b kB}%c:%s%{b kB} %{b kR}%H %{b kB}%{b kB}%l%{b kB} %{b kB}%{rs Y}%-Lw%{BY}%50>%n%{R}%f%{B} %t%{b kB}%+Lw%<" ## Nom du screen sessionname "toto" ## Définition du shell (zsh en tant que login-shell avec le "-") shell -/bin/zsh ## Création automatique des fenêtres à l'intérieur du screen test : screen -t r00t 0 su screen -t ht0p 1 htop chdir /media screen -t media 3 chdir ~ screen -t h0me 4 chdir ~ ## Sélectionner l'écran sur lequel se positionné par défaut : select 1 }}} Voila plus ou moins ce que ça peut donner (j'ai pas mis tout les lignes de mon fichier config ^^): {{attachment:screen_01.png}} Pleins d'autres paramètres sont modifiables, le manuel fournira toutes les informations nécessaires =) == Astuces == Pour éviter de taper ''screen -c ...'' ou ''screen -x'', on peut créer un alias vers une commande screen qui se connectera à un screen ou le créera si il n'existe pas: {{{ alias toto='screen -Rd toto -c ~/.screen/scr.toto' }}} Ce bout de code est à placer dans le fichier de configuration de son shell (~/.zshrc, ~/.bashrc, ...). == Alternatives == Tmux est également un multiplexeur de terminal (fonctionnalités similaires, plus léger?, ...) == Voir aussi == * [[DebianPkg:screen|Détail du paquet]] * [[DebianBug:screen|Rapport de bug Screen]] * [[http://savannah.gnu.org/projects/screen|Site officel]] * [[http://www.gnu.org/software/screen/|Page des logiciels GNU]] ---- CategoryFrCommandLineInterface