===== Zusatzaufgabe Screen ===== In dieser Aufgabe geht es um die Benutzung von //screen// am Beispiel von //irssi//. * //screen// ermöglicht es dir, innerhalb eines einzigen Zugangs (zum Beispiel über ein Terminal oder eine Terminalemulation) verschiedene virtuelle Konsolensitzungen zu erzeugen und zu verwalten. Darüberhinaus können Sitzungen getrennt und später fortgeführt werden. * //irssi// ist ein konsolenbasierter IRC-Client. Soweit zum allgemeinen Teil - jetzt zum praktischen: * Öffne eine neue Shell und starte eine neue //screen//-Sitzung (''screen ''). * Zwischenbemerkung: In einer //screen//-Sitzung kannst du nur konsolenbasierte Programme verwenden, also nichts benutzen, was eine grafische Oberfläche benötigt. * Starte in diesem Terminal //irssi//. Hier kannst du dich nun zu einem Server verbinden (''/connect irc.fau.de''), dir als Erstes ein neues Pseudonym geben (mit ''/nick '') und dich anschließend zum IRC-Channel eures Jahrgangs verbinden (für Informatik: ''/join #faui2k19''). Hier kannst du mit deinen Kommilitonen chatten. Übrigens: Falls du mehrere Channels offen hast oder eine private Unterhaltung mit jemanden führst (ein sogenanntes //Query//, erreichbar durch ''/q '') dann kannst du mit //alt+// die Fenster wechseln. * Um //screen// jetzt Befehle zu schicken, benutzt man //Strg+a//, gefolgt von einer weiteren Taste. * Benutze //Strg+a// gefolgt von //c// (im Folgenden notiert als //Strg+a,c//) um neben deiner //irssi//-Sitzung noch eine weiteres Terminal zu starten. * Mit //Strg+a,n// bzw. //Strg+a,p// kannst du z.B. zwischen den verschiedenen Sitzungen wechseln. (n = next/vorwärts, p = previous/rückwärts) * Schließe nun die **zuletzt** erstellte Sitzung: Schließe eventuell noch geöffnete Programme und drücke anschließend //Strg+d// um das Terminal zu schließen. * Nun kannst du mit //Strg+a,d// die Sitzung (in der dein //irssi// läuft) abtrennen ("detach"), d.h. du verlässt Screen, aber es läuft im Hintergrund weiter. Du bist also immer noch im irssi angemeldet, ohne dass du Fenster davon offen hast. Cool, oder? * Wenn du wieder zurück in die Session willst, musst du ''screen -r'' eingeben (falls es vorher nicht ordnungsgemäß getrennt wurde, musst du das vorher erledigen und dann die Sitzung wiederherstellen ("resume"): ''screen -dr''). Vielleicht siehst du jetzt auch noch einen weiteren Vorteil des Ganzen. Stell dir mal vor, du bist schön am Coden und - zack - Stromausfall! Wenn man dann nicht zufällig vorher gespeichert hat, oder in //screen// an einem anderen Rechner gearbeitet hat, müsste man von vorne beginnen. (Die meisten Editoren haben allerdings zum Glück eine Wiederherstellungsfunktion...) Anmerkungen: * Bemerkung: Prozesse die länger als 7 Tage laufen, oder übermäßig viel CPU-Zeit verbrauchen, werden vom sogenannten //Process-Checker// gekillt. Auf dem CIP-Rechner "ircbox" gibt es für //screen//, //tmux//, //weechat// & //irssi// Außnahmen, so dass du am besten deinen //screen// gleich dort startest, indem du dich zuerst per //ssh// zur "ircbox" verbindest. * Mehr nützliche Infos, wie zum Beispiel Scrollen im Screen, oder das Auflisten aller laufender Screens, gibt es z.B. unter: http://linuxwiki.de/screen