Question
Qu'est-ce que GNU Screen?
La solution
Qu'est-ce que Écran GNU ? Génial!
Heu, une réponse un peu plus utile: elle vous permet d’exécuter plusieurs applications de la console, ou commandes, dans un même terminal. Un peu comme un émulateur de terminal à onglets. En fait, c’est exactement ce que c’est (ce n’est tout simplement pas fait avec les kits d’outils d’interface graphique habituels)
Pourquoi est-ce si génial? Simple, vous pouvez exécuter un programme dans une session d’écran (Exécutez écran
et votre shell par défaut, exécutez screen myapp
et exécutez myapp dans la session), appuyez sur ctrl + a (la séquence de contrôle d'écran), puis appuyez sur d ( ctrl + a , d ) à détacher.
Le programme continue de fonctionner en arrière-plan, mais , contrairement à mycmd &
, vous pouvez exécuter screen -r
pour rattacher la session. et tout est comme vous l'avez laissé. Vous pouvez envoyer des entrées à la commande, si c'est une interface utilisateur curses, tout fonctionne toujours comme s'il s'agissait d'un "réel". terminal.
C’est très populaire avec les clients IRC de la console: vous pouvez exécuter (par exemple) screen irssi
et rattacher la session à partir de n’importe où vous pouvez utiliser SSH.
Quelques commandes utiles:
- ctrl + a , c pour créer un nouveau terminal virtuel (ou "fenêtre") dans la session
- ctrl + a , n et ctrl + a , p pour parcourir plusieurs fenêtres
- ctrl + a , 1 pour sélectionner la fenêtre 1, ctrl + a , 4 pour sélectionner la fenêtre 4, etc.
- ctrl + a , ctrl + a pour faire défiler les deux dernières fenêtres actives
- ctrl + a , décaler + a (a majuscule) vous permet de renommer le courant fenêtre
- ctrl + a , ` (pour moi, c'est shift + 2 - le guillemet) liste les fenêtres, vous pouvez utiliser les flèches et en sélectionner une. Également utile avec la " barre d'onglets " la mise, je vais énumérer dans une seconde
Quelques autres choses utiles que j'ai découvertes:
- Utilisez l'indicateur
-U
lorsque vous démarrez l'écran pour qu'il prenne en charge Unicode (par exemple,screen -xU
) - L'indicateur
-x
vous permet de rattacher la même session plusieurs fois. (-r
déconnecte les connexions existantes) - Vous pouvez faire des choses intéressantes avec la barre d'état. J'ai ma configuration pour afficher
[nomhôte] [0- $ bash (1 * $ irssi)] [16/09 9:32]
(fonctionnant sur nomhôte, il a deux fenêtres. Ceci est défini par les lignes hardstatus dans mon .screenrc (à la fin de la réponse)
startup_message off
vbell off
hardstatus alwayslastline
hardstatus string '%{gk}[ %{G}%H %{g}][%= %{wk}%?%-Lw%?%{=b kR}(%{W}%n*%f %t%?(%u)%?%{=b kR})%{= kw}%?%+Lw%?%?%= %{g}]%{=y C}[%d/%m %c]%{W}'