tmux session automatisch beim login starten/benutzen

Seit einiger Zeit benutzte ich den Terminal Multiplexer tmux. Damit ist es möglich, in einem Terminal Fenster mehrere Sitzungen gleichzeitig offen zu haben. Zusätzlich ist es möglich, sich von einer tmux Sitzung abzumelden, diese aber offen zu lassen (detach). So kann man die Shell an der Stelle weiterbenutzten (attach) an der man aufgehört hat. Oder man kann während länger laufenden Prozessen in anderen Sitzungen gleichzeit weiterarbeiten, alles über eine Verbindung.

Ein Problem gibt es jedoch. Wenn man vergisst tmux zu starten und einen längeren Prozess gestartet hat, dann kann man diesen erstmal wieder beenden oder man braucht ein neues Terminal Fenster bzw. eine neue Verbindung um weitere Aufgaben parallel erledigen zu können.

Um dieses Problem zu lösen habe ich folgene Änderungen vorgenommen:

...
# TMUX
if which tmux 2>&1 >/dev/null; then
   # if no session is started, start a new session
   if test -z ${TMUX}; then
        tmux attach || tmux new-session
   fi
fi

(in anderen Shells muss man eine andere Datei editieren. Bei der bash beispielsweise „~/.bashrc“)

Diese ergänzten Zeilen überprüfen als erstes ob tmux überhaupt vorhanden ist. Falls das der Fall ist, wird überprüft ob tmux gerade schon benutzt wird, falls nicht, dann wird probiert sich mit einer alten Sitzung zu verbinden, falls eine solche nicht existiert wird eine neue gestartet.

Somit befindet man sich direkt nach dem Login in einer neuen oder der alten tmux Sitzung.

Referenzen:
http://tmux.sourceforge.net/
http://www.zsh.org/
https://wiki.archlinux.org/index.php/Tmux#Start_tmux_on_every_shell_login

Dieser Beitrag wurde am von in Tutorials veröffentlicht. Schlagworte: , , , , .

Über Kai

Ich habe Informatik im Masterstudiengang an der Universität Stuttgart studiert. Im Studium habe ich, wie mein Kollege und Kommilitone, die Vertiefungslinien "Theoretische Informatik und Wissenschaftliches Rechnen" und "Visualisierung und Interaktive Systeme" belegt. Auch in meiner Freizeit beschäftige ich mich oft mit Softwareentwicklung, im Speziellen der Softwarearchitektur, sowie mit der, teils ehrenamtlichen, Betreuung und Weiterentwicklung von Webplattformen. Darüberhinaus gehe ich dem Leistungssport Schwimmen nach, um für einen gesunden Ausgleich mit Sport zu sorgen. Mehr über mich unter kmindi.de.