Tmux erleichtert die Arbeit an mehreren Projekten


Tmux erleichtert die Arbeit an mehreren Projekten

  • Untertitel: Ein Lobgesang auf Tmux (der beste Terminal-Multiplexer, den ich kenne)
  • Allgemeiner Hinweis vorab: Das ist keine Tmux-Einführung (jedoch mit Link zu einem Tutorial). Der Beitrag beschreibt aber, wie Tmux meinen Arbeitsalltag erleichtert hat und mir konkret Zeit und Nerven gespart hat.
  • Zielgruppe des Beitrags: Entwickler, die an der Konsole arbeiten.

Das normale Terminal reicht nicht

Ich arbeite in meinem Alltag als Entwickler oft an mehreren Projekten gleichzeitig oder zumindest muss ich mehrmals täglich zwischen unterschiedlichen Projekten hin- und herspringen. Ein ärgerlicher Zeitfresser ist, dabei in der Shell zwischen mehreren Ordnern hin und her zu wechseln. Mit der herkömmlichen Shell (im linuxbasierten Betriebssystem Ubuntu das sogenannte “Terminal”, Link: https://wiki.ubuntuusers.de/Terminal/) sind die Möglichkeiten hier begrenzt: Man kann beliebig viele Tabs öffnen, die jeweils eine isolierte Shell-Instanz darstellen, aber das wird schnell sehr unübersichtlich. Bei einem Projektwechsel muss man erstmal in mehreren Tabs die Ordner wechseln. Oder man ist nur in einem Ordner und muss ständig hin- und herwechseln. Das kostet alles Zeit und auch Nerven.

Tmux wurde mir empfohlen

Ein Kollege hatte mir Tmux empfohlen (“Tmux gehört zu den 5 Tools, auf die kein Entwickler verzichten kann.”). Dass Tmux sinnvoll ist, konnte ich natürlich nicht glauben und habe den Tipp immer ignoriert und gedacht: “Warum sollte ich noch etwas Neues lernen? Der Lernaufwand steht in keinem Verhältnis zum Nutzen. Es geht ja auch ohne!” Trotzdem ist das Thema nie ganz von meiner internen Weiterbildungsliste verschwunden.

Perfekter Einstieg in Tmux: ein gutes Video-Tutorial

An einem einsamen Sonntagabend im Frühjahr 2019 war es dann doch soweit. Nach einem unproduktiven Wochenende dachte ich mir: “Ok, irgendwas Sinnvolles solltest Du doch noch auf die Reihe bekommen, um damit am Montagmorgen vor den Kolleg:innen prahlen zu können!” In einfachen Worten und einfachen Schritten wurden mir in einem Video-Crashkurs die Grundlagen von Tmux beigebracht (der leider nicht mehr verfügbar ist, eine Empfehlung für ein alternatives Intro unten in der Linksammlung, original Link: https://flore.nz/blog/introduction-to-tmux). Nach kürzester Zeit konnte ich die ersten Schritte reproduzieren. Nach ca. einer Stunde hatte ich wie im Flug alle Grundlagen erfolgreich gelernt. Wie ungemein hilfreich dieses Tool für mich in der Folge noch werden würde, war mir zu diesem Zeitpunkt noch nicht klar. Meine neu erworbenen Kenntnisse konnte ich in der Projektarbeit sofort ab dem ersten Tag zur Anwendung bringen.

Vorteile von Tmux für die Multiprojektarbeit

Man braucht als Entwickler pro Projekt immer mindestens 2-3 Terminalfenster (z.B. einen Ordner mit Log-Files, ein Fenster in dem man einen Docker-Prozess startet, ein Fenster in dem man den Entwicklungsserver laufen lässt). Wenn man dann an 2-3 Projekten über einen Tag verteilt arbeitet, dann hat man insgesamt 10 virtuelle Konsolensitzungen offen. Tmux ermöglicht, diese thematisch zu ordnen und auch beliebig zu benennen. So gelingt mit Tmux eine übersichtliche Anordnung und eine hilfreiche Benennung mehrerer Terminalfenster.

Sahne oben drauf: Tmux Resurrect

Ein Nachteil von Tmux ist: Nach einem Reboot ist die komplette Tmux-Session weg! Abhilfe dagegen schafft das Tmux-Plugin Resurrect (Link: https://github.com/tmux-plugins/tmux-resurrect). Dabei handelt es sich um ein leicht zu installierendes Plugin, mit dem man eine komplette Tmux-Session nach einem Neustart rekonstruieren kann.

Fazit

Hätte ich doch mal früher auf den super Tipp meines Kollegen gehört! Multi-Projektbearbeitung in der Shell ist für mich jetzt eher Erholung als Arbeit. Natürlich hat Tmux deutlich mehr Potenzial als nur das komfortable Bearbeiten von mehreren Projekten. Das ist aber ein Thema für einen weiteren Beitrag.