Je viens de présenter GNU Screen à un ami et ils ont du mal à s'y habituer. Cela me fait penser aux choses essentielles qu'il doit savoir sur l'excellent utilitaire Screen , les mêmes choses que vous penseriez utiles d'enseigner à quelqu'un, un débutant, de A à Z. Quelles sont quelques analogies et conseils pratiques pour se souvenir des liaisons, etc.?
Ça serait génial.
gnu-screen
Henry B
la source
la source
Réponses:
J'utilise
Screen
depuis plus de 10 ans et j'utilise probablement moins de la moitié des fonctionnalités. Il n'est donc certainement pas nécessaire d'apprendre toutes ses fonctionnalités tout de suite (et je ne recommanderais pas d'essayer). Mes commandes quotidiennes sont:Je pense que c'est ça. J'utilise parfois les fonctionnalités d'écran partagé, mais certainement pas quotidiennement. L'autre conseil est que si l'écran semble s'être verrouillé parce que vous avez frappé une combinaison de touches aléatoire par accident, faites les deux
^Q
et^A ^Q
essayez de le déverrouiller.la source
exit
). La fenêtre d'écran se ferme automatiquement après avoir quitté le dernier shell d'une fenêtre.Je ne pouvais pas m'habituer à l'écran jusqu'à ce que je trouve un moyen de définir une `` barre d'état '' en bas de l'écran qui montre quel `` onglet '' ou `` écran virtuel '' vous êtes et quels autres sont. Voici ma configuration:
la source
Ctrl+ A? - affichez l'écran d'aide!
la source
Si votre ami a l'habitude d'appuyer sur
^A
pour arriver au début de la ligne dans Bash, il / elle aura quelques surprises, car^A
la touche de commande d'écran est contraignante. Habituellement, je me retrouve avec un écran gelé, peut-être à cause d'une touche aléatoire sur laquelle j'ai appuyé après^A
:-)Dans ces cas j'essaye
^A s
et^A q
bloquer / débloquer le défilement du terminalpour résoudre ce problème. Pour aller au début d'une ligne à l'intérieur de l'écran, la séquence de touches est
^A a
.la source
Vous pouvez remapper la touche d'échappement de Ctrl+ Apour être une autre clé de votre choix, donc si vous l'utilisez pour autre chose, par exemple pour aller au début de la ligne dans bash, il vous suffit d'ajouter une ligne à votre ~ /. fichier screenrc. Pour en faire ^ b ou ^ B, utilisez:
À partir de la ligne de commande, utilisez les sessions de noms pour garder plusieurs sessions sous contrôle. J'utilise une session par tâche, chacune avec plusieurs onglets:
Lorsque vous utilisez screen, vous n'avez besoin que de quelques commandes:
Une excellente référence rapide peut être trouvée ici . Cela vaut la peine d'être mis en favori.
la source
screen -e^oo
pour pouvoir utiliser Ctrl + O pour cela, puis démarrer les internes avecscreen -m
pour qu'ils démarrent de nouvelles sessions.^A :
suivi de\Bb
suivi de Entrée pour définir la touche d'échappement sur ^ B. En général,^A :
vous permet d'évaluer la commande que vous.screenrc
comprenez.Quelques conseils pour ceux qui connaissent en quelque sorte screen, mais qui ont tendance à ne pas se souvenir des choses qu'ils lisent dans la page de manuel:
.screenrc
fichier:Cela attribue ctrl+ a shift+ 0 through 9pour Windows 10 à 19.
la source
Ctrl+ Aest la commande de base
Ctrl+ A N= aller à l'écran *** N *** ext
Ctrl+ A P= aller à l'écran *** P *** revious
Ctrl+ A C= *** C *** créer un nouvel écran
Ctrl+ A D= *** D *** attachez votre écran
la source
http://www.debian-administration.org/articles/34
Je l'ai écrit il y a quelques années, mais c'est toujours une bonne introduction qui reçoit beaucoup de retours positifs.
la source
$VAR1 = \'Can\'t connect to local MySQL server through socket \'/var/run/mysqld/mysqld.sock\' (111 "Connection refused") at ../lib/Singleton/DBI.pm line 95. ';
Je "dois" ajouter ceci: ajouter
à votre
.screenrc
, si vous - comme moi - utilisé pour utiliser des fenêtres fractionnées, commeC-a S
divise la fenêtre réelle, mais laC-a s
fige. Je viens donc de désactiver le raccourci de gel.la source
^-Q
se dégèle si vous frappez^-S
Ctrl+ aest une clé spéciale.
Ctrl+ a d- [d] etach, laissez les programmes (irssi?) en arrière-plan, rentrez chez vous.
Ctrl+ a c[c] créer une nouvelle fenêtre Ctrl+ a 0-9basculer entre les fenêtres par numéro
screen -r - retourne à la session détachée
Cela couvre 90% des cas d'utilisation. N'essayez pas d'afficher toutes les fonctionnalités en même temps.
la source
screen
je connais pour la première fois, j'étais confus sur ce que signifiait réellement détacher et rattacher un écran. Citation : "... vous pouvez avoir des tâches en cours d'exécution de longue durée dans des consoles séparées (comme ssh sur une machine à distance, des sessions IRC, ...) sur une machine donnée, vous déconnecter de la session, vous déplacer d'un emplacement physique à un autre, vous connecter à la machine via ssh et rattachez-la à la session écran pour continuer à travailler. "Pas vraiment essentiel non seulement lié à l'écran, mais en activant 256 couleurs dans mon terminal, GNU Screen et Vim ont grandement amélioré mon expérience à l'écran (d'autant plus que je code dans Vim environ 8h par jour - il y a de superbes couleurs pour les yeux).
la source
La première modification que j'apporte à .screenrc est de changer la commande d'échappement. Comme beaucoup d'entre vous, je n'aime pas la séquence Ctrl-A par défaut en raison de son interférence avec cette fonctionnalité fondamentale dans presque tous les autres contextes. Dans mon fichier .screenrc, j'ajoute:
échapper `e
C'est backtick-e.
Cela me permet d'utiliser le backtick comme touche d'échappement (par exemple pour créer un nouvel écran, j'appuie sur backtick-c, detach is backtick-d, backtick-? Is help, backtick-backtick is previous screen, etc.). La seule façon dont cela interfère (et j'ai dû me débarrasser de cette habitude) est d'utiliser le backtick sur la ligne de commande pour capturer la sortie de l'exécution, ou de coller tout ce qui contient un backtick. Pour le premier, j'ai modifié mon habitude en utilisant la convention BASH $ (commande). Pour ce dernier, je viens généralement d'ouvrir un autre xterm ou de me détacher de l'écran puis de coller le contenu contenant le backtick. Enfin, si je souhaite insérer un backtick littéral, j'appuie simplement sur backtick-e.
la source
Il y a un travail intéressant en cours pour obtenir une bonne configuration d'écran GNU par défaut dans la prochaine version d'Ubuntu Server, qui comprend l'utilisation du bas de l'écran pour afficher toutes les fenêtres ainsi que d'autres détails utiles sur la machine (comme le nombre de mises à jour disponible et si la machine a besoin d'un redémarrage). Vous pouvez probablement les saisir
.screenrc
et les personnaliser selon vos besoins.Les commandes les plus utiles que j'ai dans mon
.screenrc
sont les suivantes:De cette façon, je sais toujours quelles fenêtres sont ouvertes et ce qui s'y passe en ce moment également.
la source
J'utilise ce qui suit pour
ssh
:Ensuite, j'ai défini les alias bash suivants:
Il ouvre un nouvel écran pour les alias ci-dessus et ssi en utilisant ssh, il renomme le titre de l'écran avec le nom d'hôte ssh.
la source
J'aime mettre en place une session d'écran avec des noms descriptifs pour les fenêtres. ^ a A vous permettra de donner un nom à la fenêtre courante et ^ a "vous donnera une liste de vos fenêtres. Une fois terminé, détachez l'écran avec ^ ad et rattachez-le avec screen -R
la source
J'aime utiliser
screen -d -RR
pour créer / attacher automatiquement à un écran donné. J'ai créé des fonctions bash pour vous faciliter la tâche ...Ils créent un alias pour
/usr/bin/screen -d -RR -S $name $command
. Par exemple, j'aime utiliser irssi dans une session écran, donc dans mon .bashrc (sous ces fonctions), j'ai:Alors je peux juste taper
irc
un terminal pour entrer dans irssi. Si l'écran 'irc' n'existe pas encore, il est créé et / usr / bin / irssi est exécuté à partir de celui-ci (qui se connecte automatiquement, bien sûr). S'il est déjà en cours d'exécution, je viens de le rattacher, en détachant de force toute autre instance qui y est déjà attachée. C'est assez sympa.Un autre exemple est la création d'alias d'écran temporaires pour les perldocs au fur et à mesure que je les rencontre:
L'option -a (doit être le premier argument) ajoute l'alias d'écran à .bashrc (donc il est persistant) et -d le supprime (ceux-ci peuvent être potentiellement destructeurs, donc utilisez à vos risques et périls). xD
Ajouter:
Un autre bash-ism que je trouve pratique lorsque je travaille beaucoup avec écran:
De cette façon, vous pouvez lister vos écrans avec beaucoup moins de frappes. Je ne sais pas s'il
sls
entre en collision avec des utilitaires existants, mais ce n'était pas le cas à l'époque sur mon système, alors je me suis lancé.la source
^ AA revient à l'écran d'où vous venez.
la source
Ctrl+ Aest un super caractère spécial pour les gens d'Unix, mais si vous utilisez screen pour parler à OpenVMS , alors ne pas pouvoir ^ A vous rendra chauve prématurément.
Dans VMS , si vous éditez une commande DCL avant l'exécution à partir du tampon d'historique, le mode Insertion est désactivé (cela doit être pour quelques raisons que je n'entrerai pas ici) ... pour l'activer afin de ne pas Ne sur-tapez pas votre commande plutôt que d'espacer les choses, vous devez appuyer sur `^ A.
la source
screen -e ^Ll
pour des raisons similaires; Je ne peux tout simplement pas désapprendre à taper ctrl-A pour aller au début de la ligne dans Emacs. Heureusement, ctrl-L est une frappe dont j'ai rarement besoin, et à mon humble avis, il se connecte bien avec sa signification générale (redessiner / effacer l'écran)..screenrc
hasescape ^@^@
, qui utilise le caractère nul plutôt que control-A. Sur la plupart des systèmes, vous pouvez entrer le caractère nul comme espace de contrôle, ce qui est très facile à taper. (J'ai une session d'écran imbriquée qui s'exécute dans une fenêtre de ma session principale; pour celle-là, j'aiescape ^]^]
.)