tmux in der Praxis
Wenn ich am Rechner sitze habe ich üblicherweise nur zwei Fenster auf: ein Terminal und einen Firefox. Letzteren zum Browsen, in der Shell mache ich (fast) alles andere. Also mailen, chatten, programmieren, konfigurieren und was sonst noch so anfällt.
Was im Web-Browser die Tabs sind ist in der Shell der Terminal Multiplexer. Ich brauche nicht mehrere Fenster zu öffnen, ich kann einfach mehrere Anwendungen in einem Fenster ‚fahren‘. Beim Betrieb auf einem Server kommt noch der Komfort dazu, dass ich mich am Multiplexer an- und abmelden kann wie ich will, die Anwendungen laufen einfach weiter. So habe ich meinen Mail- und Chat-Client auf einem Server laufen, dann muss ich mich nicht immer an IRC & Co. anmelden wenn ich online gehe, und ich habe immer die Backlogs die ich bei Interesse überfliegen kann.
Jahrelang war ich mit GNU Screen sehr zufrieden. Ich hatte mir da eine nette Statuszeile gebastelt die mir sagt welche ‚Fenster‘ ich habe, zusätzlich wurden mit einem kleinen Perlskript ein paar Infos eingeblendet: IP-Adresse, System Load, Akkustatus und dergleichen.
Auf meinem neuen Firmennotebook habe ich Byobu gefunden. Das ist eine Art vorkonfiguriertes Screen (dachte ich zumindest) das ab Werk ganz ähnlich aussieht wie meine angepasste Variante. Über Tastendruck kann man da eine Menge konfigurieren, alles in allem eine nette Sache. Irgendwann wollte ich die Infos in der Statuszeile aber anpassen. Genau genommen wollte ich einen Eintrag haben der mir den aktuellen Status aus meinem Zabbix anzeigt. Also habe ich mir angesehen wie Byobu aufgebaut ist.
Zu meiner Überraschung lag da gar kein Screen drunter. Kann man auch machen, per Default nutzt Ubuntu aber tmux. Darüber hatte ich schon viel gutes gelesen, konnte mich aber doch irgendwie nicht von meinem gewohnten Screen trennen. Da ich aber unwissend mehrere Monate mit tmux zufrieden war habe ich das dann doch noch mal überdacht, und was soll ich sagen? Ich bin begeistert!
Ich habe mir wieder ein Skript gebastelt das für die Statusleiste interessante Daten zusammenklaubt, diesmal in Python. Und ich habe mir angeeignet wie man mit aufgeteilten Fenstern arbeitet. Das geht zwar auch im Screen, aber im tmux macht es dagegen wirklich Spaß, und das ist einer der größten Vorteile.
Wenn ich was für den Mikrocontroller entwickle habe ich oben einen großen Vim mit dem Code, unten links kann ich in einer kleinen Shell Kommandos absetzen — compilieren und flashen beispielsweise, und unten rechts sehe ich Debug-Ausgaben vom Controller.
Oder ich habe auf einem anderen Schirm groß meinen Mailclient. Unten sind drei Zeilen meines Chatclients zu sehen, wenn da eine interessante Aktivität angezeigt wird kann ich auf Tastendruck wechseln. Der Chat wird dann oben groß, und der Mailclient ist unten in den drei Zeilen zu sehen.
Ich bin sehr zufrieden damit, und ich ärgere mich dass ich nicht schon wesentlich eher umgestiegen bin…