2008-09-16 7 views

Répondre

27

Qu'est-ce que GNU Screen? Génial! Erm, une réponse un peu plus utile: il vous permet d'exécuter plusieurs applications de la console, ou des commandes, dans un seul terminal. Un peu comme un émulateur de terminal à onglets. En fait, c'est exactement ce que c'est (juste pas fait avec les toolkits GUI réguliers)

Pourquoi est-ce si génial? Simple, vous pouvez exécuter un programme dans une session écran (Run screen et il exécute votre shell par défaut, exécutez screen myapp et il fonctionne myapp dans la session), appuyez sur ctrl + une (la séquence de contrôle de l'écran), puis appuyez sur d (ctrl + un, d) pour détacher.

Le programme continue de fonctionner en arrière-plan, mais , contrairement à faire mycmd &, vous pouvez exécuter screen -r à refixer la session, et tout est comme vous l'avez laissé. Vous pouvez envoyer une entrée à la commande, si c'est une interface utilisateur maléfique, tout fonctionne toujours comme s'il s'agissait d'un "vrai" terminal.

Il est très populaire auprès des clients IRC de la console - vous pouvez exécuter (par exemple) screen irssi et réattacher la session de partout où vous pouvez SSH.

Quelques commandes utiles:

  • ctrl + un, c de faire un nouveau terminal virtuel (ou "fenêtre") dans la session
  • ctrl + un, n et ctrl + a, p pour faire défiler plusieurs fenêtres
  • ctrl + un, pour sélectionner la fenêtre 1, ctrl + un, pour sélectionner la fenêtre 4 et ainsi de suite
  • ctrl +un, ctrl +un à cran d'arrêt entre les deux derniers fenêtres actives
  • ctrl + un, décalage + un (majuscule a) permet de renommer la fenêtre en cours
  • ctrl + un , ` (pour moi, c'est shift + - le guillemet) liste les fenêtres, vous pouvez utiliser les flèches et en sélectionner une. Aussi utile avec la « barre d'onglet » réglage je vais énumérer dans une deuxième

Quelques autres choses utiles que je suis tombé par hasard sur:

  • Utilisez le drapeau -U lors du lancement de l'écran il prend en charge Unicode (par exemple, screen -xU)
  • Le drapeau -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 [ hostname ][ 0-$ bash (1*$ irssi) ][16/09 9:32] (Fonctionnant sur le nom d'hôte, il a deux fenêtres. Il est fixé par les lignes de 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}' 
+1

* "contrairement à faire 'mycmd &' "* - en fait, vous pouvez utiliser' fg' pour récupérer un processus de l'arrière-plan (où il est envoyé avec '&'), et 'ctrl + z' pour le remettre là. – naught101

Questions connexes