Traduction(s): English - Français


Screen

Screen est un multiplexeur de terminal qui permet entre autre:

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, ...) :

   1 # Créer un screen nommé toto:
   2 screen -S toto
   3 # Lister les screen disponibles:
   4 screen -ls
   5 # Se connecter au screen toto
   6 screen -x toto
   7 # Se connecter au screen avec l'id 3002
   8 screen -x 3002
   9 # Se connecter automatiquement à un screen (si un seul disponible):
  10 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:

   1     # Combinaison pour appeler les raccourcis: CTRL+e
   2     escape "^Ee"
   3     # Pour faire le "^E" dans vim, il faut faire la combinaison de touche: CTRL+v CTRL+e
   4      
   5     ## Exemple de raccourcis:
   6     bindkey ² prev # aller dans au terminal précédent
   7     bindkey = next # aller au terminal suivant
   8      
   9     # Barre de statut en bas du screen pour lister les screens, l'heure, la machine, ...
  10     # heure (avec secondes), nom de la machine en rouge, load de la machine
  11     # puis list des fenêtres avec celle courante en jaune, le tout en fond bleu
  12     #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%<"
  13     # Même ligne avec fond noir
  14     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%<"
  15      
  16     ## Nom du screen
  17     sessionname "toto"
  18      
  19     ## Définition du shell (zsh en tant que login-shell avec le "-")
  20     shell -/bin/zsh
  21      
  22     ## Création automatique des fenêtres à l'intérieur du screen test :
  23     screen -t r00t 0 su
  24     screen -t ht0p 1 htop
  25     chdir /media
  26     screen -t media 3
  27     chdir ~
  28     screen -t h0me 4
  29     chdir ~
  30      
  31     ## Sélectionner l'écran sur lequel se positionné par défaut :
  32     select 1

Voila plus ou moins ce que ça peut donner (j'ai pas mis tout les lignes de mon fichier config ): 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


CategoryFrCommandLineInterface