{"id":366,"date":"2014-10-05T12:18:23","date_gmt":"2014-10-05T12:18:23","guid":{"rendered":"http:\/\/192.168.2.32:8082\/?p=366"},"modified":"2014-10-05T12:18:23","modified_gmt":"2014-10-05T12:18:23","slug":"screen","status":"publish","type":"post","link":"https:\/\/www.dev-metal.ch\/?p=366","title":{"rendered":"Screen"},"content":{"rendered":"<p><!--more-->Screen ist ein sog. &#8222;Terminal-multiplexer&#8220;. Ich \u00f6ffne Screen in einem Terminal (XTerm, gnome-terminal, konsole, usw. ABER man braucht X nicht um Screen auszuf\u00fchren)<br \/>\nund habe nun die M\u00f6glichkeit mehrere Programme auszuf\u00fchren und zwischen diesen wechseln ohne<br \/>\nmehrere Terminals ge\u00f6ffnet zu haben. Man kann zB in einem Screenfenster ein Programm kompilieren, in einem anderen mit irssi chatten und in einem dritten mit mutt seine EMails kontrollieren. Das gilt f\u00fcr alles was sich konsolenbasierend in einem Terminal ausf\u00fchren l\u00e4sst. Screen ist ein m\u00e4chtiges Programm, und ein richtiges schweizer Taschenmesser in der Linuxwelt wenn man wei\u00df, wie man damit umzugehen hat.<br \/>\nStarte &#8222;screen&#8220; in einem Terminal eurer Wahl. Wie ihr seht, erwartet euch dort eine ganz normale Shell, es sieht nach nichts besonderen aus. Aber jetzt schreibt doch ein bisschen wirwar in das Fenster um es dann zu identifizieren k\u00f6nnen.<br \/>\nAnschlie\u00dfend benutzt ihr folgende Tastenkombination:<\/p>\n<ul>\n<li>C-a c (Crtl\/Strg + a c)<br \/>\nNun seid ihr in dem Modus in dem ihr Screen weitere Instruktionen und Kommandos geben k\u00f6nnt. Durch dr\u00fccken von c geniert ihr ein neues Fenster (create). Dieses ist jetzt wieder leer. Also schreibt wieder etwas hinein. Und dann wollen wir folgendes probieren:<\/li>\n<li>C-a n<br \/>\nIhr springt zum n\u00e4chsten (next) Fenster und seid wieder in eurem ersten Fenster.<\/li>\n<li>C-a p<br \/>\nDamit wechselt ihr zum vorherigen Fenster (previous) und seht Fenster 1.<\/li>\n<li>C-a N<br \/>\nWobei N f\u00fcr eine Nummer steht. Ihr k\u00f6nnt nun durch auswahlen einer Nummer direkt zu einem Fenster eurer Wahl wechseln. Gez\u00e4hlt wird ab 0. Also ist unser erstes Fenster mit &#8222;C-a 0&#8220; zu erreichen.<\/li>\n<li>C-a A<br \/>\nIhr m\u00fcsst Shift gedr\u00fcckt halten bevor ihr das 2te Mal A dr\u00fcckt. Nun k\u00f6nnt ihr eurem Fenster einen Namen geben. Das wird beim n\u00e4chsten Schritt hilfreich sein.<\/li>\n<li>C-a<br \/>\nNun solltet ihr eine \u00dcbersicht \u00fcber eure von Screen generierten Fenster sehen. Und wie gesagt, nun k\u00f6nnt ihr sie mit den Namen identifizieren. (Shift nicht vergessen)<\/li>\n<li>C-a K<br \/>\nMit K f\u00fcr Kill k\u00f6nnt ihr nun Fenster schlie\u00dfen die ihr nicht mehr ben\u00f6tigt. Screen wird euch (nach der Standarteinstellung) fragen ob ihr das Fenster wirklich schlie\u00dfen wollt, und mit &#8222;y&#8220; (yes) best\u00e4tigt ihr das.<\/li>\n<\/ul>\n<p>Jetzt spielt mal ein bisschen mit Screen rum und \u00f6ffnet Programme, gebt ihnen Namen und dann kann der Spass beginnen&#8230;<br \/>\nDenn jetzt kommt Magie ins Spiel!<br \/>\nNachdem ihr nun ein paar Prozesse laufen habt, schlie\u00dft ihr euer Terminal, \u00f6ffnet ein neues und f\u00fchrt das folgende Kommando aus:<\/p>\n<ul>\n<li>screen -r (reattach)<br \/>\nIhr werdet sehen: Eure ganzen Programme sind noch da! Ol\u00e9! Doch wie kann das gehen?<br \/>\nScreen speichert eure ganzen Programme in einer Session und l\u00e4sst diese im Hintergrund laufen. Und indem ihr das Terminal schlie\u00dft, &#8222;loggt&#8220; ihr euch nur von dieser Session aus.<br \/>\nDas k\u00f6nnt ihr auch manuel mit<\/li>\n<li>C-a d (detach)<br \/>\nmachen. Wie ihr euch bestimmt vorstellen k\u00f6nnt ist diese Funktion sehr praktisch. Man kann zB ein gro\u00dfes Programm kompilieren, das Terminal schlie\u00dfen und X neustarten und nach einem &#8222;screen -r&#8220; seht ihr, dass das Programm immernoch kompiliert.<br \/>\nOder eine etwas eigene Art von &#8222;Remote-desktoping&#8220; ist m\u00f6glich: Ihr loggt euch per SSH auf einem Server ein, startet irssi, schlie\u00dft euer Terminal, und nach einem wiedereinloggen und einem reattach seid ihr immernoch online.<br \/>\nAber vergesst nicht: Die Programme m\u00fcssen in einer Screen Session laufen!<br \/>\nFalls ihr smarte Terminaluser seid, werdet ihr vielleicht schon gemerkt haben, dass ihr nicht mit eurem Mausrad hochscrollen k\u00f6nnt, um euch den Inhalt oben anzusehen. Um das zu tun benutzt ihr folgendes Kommando um in den &#8222;scrollback buffer&#8220; per &#8222;copy mode&#8220; zu kommen:<\/li>\n<li>C-a [<br \/>\nNun k\u00f6nnt ihr ganz simpel mit den Pfeiltasten hoch und runter scrollen und euch<br \/>\nwas zu markieren. Dies k\u00f6nnt ihr mit<\/li>\n<li>C-a ]<br \/>\nwieder einf\u00fcgen.<br \/>\nAber wie beende ich Screen? Eine Session bleibt ja immer bestehen, wie ihr gemerkt habt, und um Screen zu beenden m\u00fcsst ihr einfach jedes Fenster dass in der Session l\u00e4uft mit C-a K schlie\u00dfen und nachdem das letzte gel\u00f6scht befindet ihr euch wieder in eurer normalen Shell ohne Screen im Vordergrund.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[5],"tags":[16],"class_list":["post-366","post","type-post","status-publish","format-standard","hentry","category-linux-diverses","tag-linux-tools"],"modified_by":"ralph","_links":{"self":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=366"}],"version-history":[{"count":1,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions"}],"predecessor-version":[{"id":367,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions\/367"}],"wp:attachment":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}