{"id":1767,"date":"2011-03-27T17:53:03","date_gmt":"2011-03-27T15:53:03","guid":{"rendered":"https:\/\/www.gambaru.de\/blog\/?p=1767"},"modified":"2020-02-15T02:50:58","modified_gmt":"2020-02-15T01:50:58","slug":"screen-richtig-nutzen","status":"publish","type":"post","link":"https:\/\/gambaru.de\/blog\/2011\/03\/27\/screen-richtig-nutzen\/","title":{"rendered":"GNU Screen richtig nutzen"},"content":{"rendered":"<p>Screen ist f\u00fcr mich eines der wichtigsten Konsolenprogramme. Verbindet man sich mit ssh zu einem Rechner, vermisst man schnell die F\u00e4higkeit einer modernen grafischen Oberfl\u00e4che zwischen verschiedenen Anwendungen und Fenstern einfach hin- und her zu wechseln. Und wie k\u00f6nnen ausgef\u00fchrte Programme in der Konsole auch nach dem Logout weiterlaufen? Hier kommt <a href=\"http:\/\/de.wikipedia.org\/wiki\/GNU_Screen\">screen<\/a> ins Spiel.<br \/>\nBeim Start von screen erscheint eine Nachricht und danach scheint es als ob sich nicht viel ge\u00e4ndert h\u00e4tte. Lediglich die Eingabeaufforderung der Shell blinkt einem entgegen.<\/p>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_screen_start_nachricht1-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-1770 size-medium\" title=\"20110327_screen_start_nachricht\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_screen_start_nachricht1-1-300x199.png\" alt=\"\" width=\"300\" height=\"199\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_screen_start_nachricht1-1-300x199.png 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_screen_start_nachricht1-1.png 655w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nHier l\u00e4sst sich nun z.B. rtorrent starten und der Bildschirm horizontal mit Strg+A und S teilen. Mit Strg+A und TAB springt man zur n\u00e4chsten Bildschirmregion und kann dort mit Strg+A und c eine neue Shell \u00f6ffnen und z.B <a href=\"http:\/\/elinks.or.cz\/\">elinks<\/a> starten. Dies w\u00fcrde dann meinem schon vorgestellten <a href=\"https:\/\/www.gambaru.de\/blog\/?p=771\">rtorrent Setup<\/a> entsprechen und sieht wie folgt aus.<\/p>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_splitscreen1-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-1772 size-medium\" title=\"20110327_rtorrent_elinks_splitscreen\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_splitscreen1-1-300x212.png\" alt=\"\" width=\"300\" height=\"212\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_splitscreen1-1-300x212.png 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_splitscreen1-1-768x544.png 768w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_splitscreen1-1-1024x725.png 1024w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_splitscreen1-1.png 1071w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nScreen l\u00e4sst sich aber nicht nur horizontal sondern auch vertikal teilen. Um das rtorrent Fenster vertikal zu teilen und <a href=\"http:\/\/htop.sourceforge.net\/\">htop<\/a> anzuzeigen, springt man einfach mit Strg+A und TAB in die obere H\u00e4lfte zur\u00fcck. Dann gen\u00fcgt bei Debian und Ubuntu ein Strg+A und | um den Bildschirm erneut zu teilen.<br \/>\nAnschlie\u00dfend wird der Schritt zum Starten einer neuen Anwendung wiederholt, wiederum Strg+A und TAB um zur n\u00e4chsten Region zu gelangen, Strg+A und c um die Shell zu \u00f6ffnen und dann htop eingeben.<\/p>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_htop_splitscreen1-1-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-1775 size-medium\" title=\"20110327_rtorrent_elinks_htop_splitscreen\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_htop_splitscreen1-1-300x212.png\" alt=\"\" width=\"300\" height=\"212\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_htop_splitscreen1-1-300x212.png 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_htop_splitscreen1-1-768x544.png 768w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_htop_splitscreen1-1-1024x725.png 1024w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_rtorrent_elinks_htop_splitscreen1-1.png 1071w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nDas Spiel l\u00e4sst sich nun beliebig weiter treiben. Mit Strg+A und d bietet screen eine seiner besten Optionen an, n\u00e4mlich screen abzutrennen und in den Hintergrund zu schicken. Danach befindet man sich wieder auf der urspr\u00fcnglichen Konsole, alle in screen ausgef\u00fchrten Programme laufen aber weiter!<br \/>\nMan k\u00f6nnte sich also problemlos ausloggen, zu Bekannten fahren, von dort sich erneut zu seinem Rechner mit ssh verbinden und danach mit dem Kommando <code>screen -r<\/code> seine Session wieder aufrufen.<br \/>\nLeider ist die Aufteilung der Anwendungen in verschiedene Regionen dann verschwunden und man m\u00fcsste von neuem die Einteilung vornehmen. Nat\u00fcrlich l\u00e4sst sich einfach mit Strg+A und SPACE zwischen den \"Fenstern\" wechseln. Oder man springt direkt zu einem Fenster indem man Strg+A und 0,1 oder 2 eingibt.<br \/>\nW\u00e4re es nicht besser, man h\u00e4tte eine Statusleiste, in der die unterschiedlichen Programme mit Namen und Fensterzahl schon angezeigt w\u00fcrden? W\u00e4re es nicht praktischer die Anwendungen schon sofort beim Starten von screen mit auszuf\u00fchren, ohne den Umweg \u00fcber das \u00d6ffnen einer neuen shell zu gehen?<br \/>\nDer \"Trick\" ist die im Home Ordner versteckte Datei <strong>.screenrc<\/strong> zu erstellen, welche bei mir so aussieht.<\/p>\n<pre class=\"brush:plain\">hardstatus alwayslastline \"%-w[%n %t]%+w%=%H %c Load: %l\"\nshelltitle '...'\nstartup_message off\nvbell off\nblankerprg \/home\/apo\/.scripts\/screensaver.sh\nidle 300 blanker\n#screen -t centerim 0 \/home\/apo\/.scripts\/centerim.sh\n#screen -t alpine 1 alpine -d 0\n#screen -t mc 2 \/home\/apo\/.scripts\/mc.sh\nscreen -t rtorrent 1 rtorrent\nscreen -t htop 2 htop\n#screen -t wyrd 4 wyrd\nscreen -t elinks 3 \/home\/apo\/.scripts\/elinks.sh\n#screen -t hnb 8 hnb\nscreen -t slurm 4 slurm -i eth0<\/pre>\n<figure id=\"attachment_1783\" aria-describedby=\"caption-attachment-1783\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_screen_speedy1-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-1783 size-medium\" title=\"20110327_screen_speedy\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_screen_speedy1-1-300x212.png\" alt=\"\" width=\"300\" height=\"212\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_screen_speedy1-1-300x212.png 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_screen_speedy1-1-768x544.png 768w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_screen_speedy1-1-1024x725.png 1024w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_screen_speedy1-1.png 1071w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1783\" class=\"wp-caption-text\">GNU Screen<\/figcaption><\/figure>\n<p>Aufmerksamen Lesern von <a href=\"http:\/\/kmandla.wordpress.com\/\">KMandlas<\/a> hervorragendem Linuxblog und Testern seiner Debian Lenny Sandbox Edition f\u00e4llt hier sicher auf, dass es sich mit geringf\u00fcgigen \u00c4nderungen um seine screenrc handelt. Sie ist \u00fcbersichtlich und enth\u00e4lt meiner Meinung auch alles was man f\u00fcr die effiziente Benutzung von screen braucht.<br \/>\nWas macht diese Konfigurationsdatei? Zum einen verschwindet die Startnachricht, die man nicht wirklich ben\u00f6tigt. Die visuelle R\u00fcckmeldung, wenn sich etwas in den Fenstern getan hat, ist ebenfalls ausgeschaltet. Mit <code>Shelltitle<\/code> l\u00e4sst sich der Name einer mit Strg+A und c gestarteten shell festlegen.<br \/>\nDie Zeile <code>blankerprg<\/code> verweist auf ein Bildschirmschoner-Skript, welches nach 5 Minuten ausgef\u00fchrt wird, sollte man in der Zwischenzeit keine weiteren Aktionen in screen vorgenommen haben. Im Grunde genommen handelt es sich hier mehr um ein Gimmick, welches bei modernen Monitoren nicht notwendig ist. Ich stelle es ein anderes Mal ausf\u00fchrlicher vor.<br \/>\nDie restlichen Zeilen sind Programme, die ich regelm\u00e4\u00dfig in meiner Screen Session ausf\u00fchre. Da ich nicht auf jedem Rechner immer die gleichen ben\u00f6tige, sind manche mit der # kommentiert. Der Aufbau ist simpel<\/p>\n<p><code>screen -t <em>Titel des Fensters Fensterzahl Name des Programms und Startparameter<\/em><\/code><\/p>\n<p>Somit wird aus einem langweiligen Terminalfenster ein Fenstermanager f\u00fcr die Konsole. Zwischen den einzelnen Fenstern l\u00e4sst sich danach wie gewohnt mit Strg+A und Space oder Strg+A und Fensterzahl wechseln.<\/p>\n<p>Wer weitere Vorschl\u00e4ge f\u00fcr das Aussehen der Statuszeile bei screen sucht, findet schon bei Google mit dem Begriff hardstatus und screen viele weitere Ideen. Noch einfacher geht es, wenn man direkt <a href=\"http:\/\/wiki.ubuntuusers.de\/byobu\">byobu<\/a> ausprobiert, was nichts anderes als ein verbessertes oder besser versch\u00f6nertes screen ist.<\/p>\n<p><a href=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_byobu1-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-1785 size-medium\" title=\"20110327_byobu\" src=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_byobu1-1-300x199.png\" alt=\"\" width=\"300\" height=\"199\" srcset=\"https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_byobu1-1-300x199.png 300w, https:\/\/gambaru.de\/blog\/wp-content\/uploads\/2011\/03\/20110327_byobu1-1.png 655w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nScreen ist nicht nur f\u00fcr Serveradmins sinnvoll. Auch f\u00fcr alte Computer mit sehr wenig RAM bietet sich screen mit vielen n\u00fctzlichen Konsolenprogrammen an, womit sich E-Mail schreiben, Browsen, Chatten, Bittorrent und vieles mehr realisieren l\u00e4sst. Viel Spass beim Ausprobieren!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Screen ist f\u00fcr mich eines der wichtigsten Konsolenprogramme. Verbindet man sich mit ssh zu einem Rechner, vermisst man schnell die F\u00e4higkeit einer modernen grafischen Oberfl\u00e4che zwischen verschiedenen Anwendungen und Fenstern einfach hin- und her zu wechseln. Und wie k\u00f6nnen ausgef\u00fchrte Programme in der Konsole auch nach dem Logout weiterlaufen? Hier kommt screen ins Spiel. Beim &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/gambaru.de\/blog\/2011\/03\/27\/screen-richtig-nutzen\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eGNU Screen richtig nutzen\u201c<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[53,175,183,202],"_links":{"self":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/1767"}],"collection":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/comments?post=1767"}],"version-history":[{"count":1,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/1767\/revisions"}],"predecessor-version":[{"id":11167,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/1767\/revisions\/11167"}],"wp:attachment":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/media?parent=1767"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/categories?post=1767"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/tags?post=1767"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}