GNU Écran Guide de Survie
Ce que les gens pensent ne sont pas seulement les choses essentielles que vous devez savoir à propos de l'excellent Écran de l'utilitaire, mais les choses que vous pensez utile pour enseigner à quelqu'un, un débutant, à partir du sol?
J'ai juste introduit un ami à l'Écran et ils ont du mal à s'habituer à elle. Donc des analogies et des conseils pratiques pour se souvenir de lie etc. serait génial.
- Il y a quelques bonnes réponses à ce aussi ici: stackoverflow.com/questions/70661/what-is-gnu-screen
- Aussi sur: serverfault.com/questions/81544/hidden-features-of-screen
- Si quelqu'un est juste de commencer et avoir un moment difficile avec Écran, ils pourraient vouloir vérifier l'alternative tmux.
Vous devez vous connecter pour publier un commentaire.
J'ai été en utilisant l'écran pendant plus de 10 ans et probablement moins de la moitié de la fonctions. Donc ce n'est certainement pas nécessaire d'apprendre à toutes ses fonctionnalités tout de suite (et je ne vous recommande pas d'essayer). Ma journée-à-jour les commandes sont:
Je pense que c'est ça. J'ai parfois l'utilisation de l'écran divisé les caractéristiques, mais certainement pas tous les jours. L'autre astuce est de savoir si l'écran semble avoir enfermé parce que vous a frappé un hasard de la combinaison de touches par accident, faire les deux ^et Q ^A ^Q pour essayer de le débloquer.
exit
). L'écran de la fenêtre se ferme automatiquement après la sortie du dernier obus dans une fenêtre.Je n'arrivais pas à m'habituer à l'écran jusqu'à ce que j'ai trouvé un moyen de mettre une 'barre d'état au bas de l'écran, qui montre ce que l'onglet" ou "écran virtuel", vous êtes sur et qui d'autres y sont. Voici ma configuration:
Ctrl+Un ? - afficher l'écran d'aide!
Si votre ami est dans l'habitude d'appuyer sur
^A
pour se placer au début de la ligne de bash, il/elle est à quelques surprises, puisque^A
est l'écran sur la touche de commande de liaison. Habituellement, je me retrouve avec une gelée de l'écran, peut-être parce que certains de clé aléatoire, j'ai appuyé sur après^A
🙂Dans ces cas, j'essaie
^A s
et^A q
bloquer/débloquer le terminal de défilementpour résoudre ce problème. Pour aller au début d'une ligne à l'intérieur de l'écran de la séquence de touches est
^A a
Vous pouvez remapper la touche esc de la touche ctrl-être une autre touche de votre choix, donc si vous ne l'utiliser pour quelque chose d'autre, par exemple pour aller au début de la ligne de bash, vous avez juste besoin d'ajouter une ligne à votre ~/.screenrc fichier. Pour le faire ^b ou ^B utilisation:
À partir de la ligne de commande, utilisez des noms de sessions de conserver plusieurs sessions sous contrôle. J'utilise une session par tâche, chacun avec plusieurs onglets:
Lors de l'utilisation de l'écran vous avez seulement besoin de quelques commandes:
Une excellente référence rapide peut être trouvé ici. La peine de bookmarking.
screen -e^oo
si je peux utiliser Ctrl+O pour cela, et puis commencer à l'intérieur de ceux avecscreen -m
de sorte qu'ils commencent de nouvelles sessions.^A :
suivie par\Bb
suivi de la touche Enter pour définir la touche echap pour ^B. En général,^A :
vous permet d'évaluer commande que votre.screenrc
comprend.Quelques conseils pour ceux sorta familiariser avec l'écran, mais qui ont tendance à ne pas se souvenir de choses qu'ils lisent dans la page de man:
.screenrc
fichier:Qui attribue ctrl+un maj+0 à 9 pour windows 10 à 19.
http://www.debian-administration.org/articles/34
J'ai écrit qu'il y a quelques années, mais c'est toujours une bonne introduction qui reçoit beaucoup de commentaires positifs.
I "" ajouter cette: ajouter
à votre
.screenrc
, si Vous, comme moi, l'habitude d'utiliser split windows, commeC-a S
divise la fenêtre réelle, maisC-a s
fige. Donc j'ai juste désactivé le gel de raccourci.^-Q
dégèle si vous frappez^-S
ctrl+un est une touche spéciale.
ctrl+un d - [d]etach, programmes de congé (irssi?) en arrière-plan, rentrer à la maison.
ctrl+un c [c]créer une nouvelle fenêtre
ctrl+un 0-9 basculer entre les fenêtres par nombre
screen-r - revenir à détacher session
Qui couvre 90% de cas d'utilisation. N'essayez pas de montrer toutes les fonctionnalités à la fois.
screen
j'ai été confus au sujet de ce en fait, destinée à detach et ré-attacher un écran. Devis : "...vous pouvez avoir long-temps d'exécution des tâches distinctes consoles (comme ssh sur un remmote machine, IRC sessions, ...) sur une machine donnée, de le détacher de la session, à se déplacer d'un endroit à un autre, de se connecter à la machine via ssh et attachez-le à nouveau l'écran de session pour continuer à travailler."Ctrl+Un est à la base de la commande
Ctrl+Un N = aller à la ***N***ext écran
Ctrl+Un P = aller à la ***P***revious écran
Ctrl+Un C = ***C***réer nouvel écran
Ctrl+Un D = ***D***etach votre écran
Pas vraiment essentiel de ne pas uniquement liées à l'écran, mais activation de 256 couleurs dans mon terminal, GNU Écran et Vim amélioré mon expérience de l'écran de temps de gros (surtout depuis que je code dans Vim environ 8h par jour - il y a quelques grands agréable, colorschemes).
Il y a quelques travail intéressant fait sur l'obtention d'une bonne gnu-écran de configuration de passe par défaut dans la prochaine version de Ubuntu Serveur, ce qui inclut l'utilisation de la partie inférieure de l'écran pour afficher toutes les fenêtres ainsi que d'autres détails d'une machine (comme # mises à jour disponibles et si la machine a besoin d'un redémarrage). Vous pouvez probablement prendre leur
.screenrc
et le personnaliser en fonction de vos besoins.Les commandes les plus utiles que j'ai dans mon
.screenrc
sont les suivantesDe cette façon, je sais toujours ce que les fenêtres sont ouvertes, et ce qui est en cours d'exécution à l'instant, trop.
La première modification que je fais pour .screenrc est de changer la commande d'échappement. Pas à la différence de beaucoup d'entre vous, je n'aime pas la valeur par défaut Ctrl-Une séquence en raison de son interférence avec les fondamentaux de la fonctionnalité dans presque tous les autres contexte. Dans mon .screenrc fichier, j'ai ajouté:
escape `e
C'est backtick-e.
Cela me permet d'utiliser le backtick comme la touche d'échappement (par exemple pour créer un nouvel écran, je presse backtick-c, se détacher est backtick-d, backtick-? est aider, backtick-backtick est l'écran précédent, etc.). La seule façon pour elle interfère (et j'ai eu à casser moi-même de l'habitude) est à l'aide de 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 le BASH $(commande) de la convention. Pour ce dernier, j'ai l'habitude de simplement ouvrir un autre xterm ou de se détacher de l'écran, puis collez le contenu du contenant l'backtick. Enfin, si je souhaite insérer un littéral backtick, j'ai simplement appuyez sur backtick-e.
Je ne peux pas me rappeler qui j'ai volé ce à partir de (quelqu'un sur dotfile.org). J'ai modifié un peu le tout pour ssh:
Puis j'ai mis le bash suivante alias:
Il ouvre un nouvel écran pour le dessus de alias et le forum à l'aide de ssh, il renomme le titre de l'écran avec le nom d'hôte ssh.
Acclamations z0mbix
Je voudrais configurer un écran de session avec des noms descriptifs pour les fenêtres. ↑ a et Un vous permettront de donner un nom à la fenêtre en cours et ^un " vous donnera une liste de vos fenêtres.
Lorsque vous avez terminé, de le détacher de l'écran avec ^un d et re-fixez-le avec des screen-R
Que quelqu'un a posté une question similaire, à Serveur Faute.
J'aime utiliser
screen -d -RR
pour automatiquement créer/joindre à un écran. J'ai créé bash fonctions pour le rendre plus facile...Ils créer un alias pour
/usr/bin/screen -d -RR -S $name $command
. Par exemple, j'aime utiliser irssi dans une session screen, donc, dans mon .bashrc (en dessous de ces fonctions), j'ai:Alors je peux tout type
irc
dans un terminal pour entrer dans irssi. Si l'écran 'irc' n'existe pas encore, alors il est créé et /usr/bin/irssi est exécuté à partir d'elle (qui se connecte automatiquement, bien sûr). Si elle est déjà en cours d'exécution, puis je viens de le rattacher à elle, par la force de détacher de toute autre instance qui est déjà attaché à elle. C'est assez agréable.Un autre exemple est la création temporaire d'écran des alias pour les perldocs que je viens à travers eux:
L'option-a (doit être le premier argument) ajoute l'écran alias .bashrc (donc c'est persistante) et -d supprime (ceux-ci peuvent être potentiellement destructeurs, donc à utiliser à vos propres risques). xD
Ajouter:
Un autre bash-isme que je trouve pratique lorsque l'on travaille beaucoup avec écran:
De cette façon, vous pouvez lister vos écrans avec beaucoup moins de touches. Je ne sais pas si
sls
entre en collision avec une des services publics existants, mais il n'a pas, à l'époque, sur mon système, j'ai donc opté pour elle.^Un Un permet de revenir à l'écran d'où vous venez.
^Un est un excellent char spécial pour UNIX gens, mais si votre utilisation de l'écran pour parler de OpenVMS, puis ne pas être en mesure de ^A va vous faire chauve prématurément. Les machines virtuelles, si votre modification d'une commande DCL avant l'exécution de l'histoire de la mémoire tampon, le mode Insertion est désactivé (doit être pour quelques raisons que je ne vais pas entrer dans ici) .. pour l'activer afin de ne pas sur-le type de votre commande plutôt que dans l'espace les choses, vous devez frapper ^Un
screen -e ^Ll
pour des raisons similaires; j'ai simplement ne peut pas désapprendre à taper ctrl-A pour aller au début de la ligne dans Emacs. Heureusement, ctrl-L est une combinaison de touches j'ai rarement besoin, et aussi à mon humble avis il se connecte bien avec son sens général (redessiner/effacement de l'écran)..screenrc
aescape ^@^@
, qui utilise le caractère null plutôt que de contrôle-A. Sur la plupart des systèmes, vous pouvez saisir le caractère null comme le contrôle de l'espace, ce qui est très facile à taper. (J'ai un imbriquée à l'écran de session s'exécute à l'intérieur d'une fenêtre dans ma session principale; pour que celui que j'aiescape ^]^]
.)