[Eisfair] Arbeiten über eine ssh-Verbindung

Christian Richter christian at richter-ch.de
Di Jan 20 13:36:37 CET 2026


Am 20.01.26 um 12:19 schrieb Christian Richter:

> 
> Hier wird nach dem ssh-login sofort mit der bestehenden tmux session 
> verbunden. Ist keine vorhanden wird eine neue gestartet.
> 
> So kann ich das gar nicht vergessen.
> 
> ...
>        /usr/bin/tmux attach || /usr/bin/tmux new
> ...
Ich habe gerade bemerkt, dass es so ja eigentlich nur eine tmux session 
geben kann, mit der ich mich wieder verbinden kann.
Manchmal möchte man aber mehrere Session haben.

Also neuer Ansatz:

Unter /usr/local/bin/ eine neues Script angelegt tmux-chooser.sh mit 
folgenden Inhalt:

#!/bin/bash
if [ -n "$SSH_CONNECTION" ] && [ -z "$TMUX" ]; then
     if tmux list-sessions >/dev/null 2>&1; then
         count=$(tmux list-sessions | wc -l)
         echo
         echo "tmux Sessions ($count):"
         tmux list-sessions -F "#S" | nl -w2 -s': '
         echo -n "[Enter=NEW] q=Shell 1-$count: "
     else
         echo
         echo -n "[Enter=NEW tmux] q=Shell: "
     fi

     IFS= read -r input

     input=$(echo "$input" | sed 's/[^0-9qQ]//g' | tr '[:upper:]' 
'[:lower:]')

     case "$input" in
         q) echo "Shell."; exit 0 ;;
         *[0-9]*)
             num=$(echo "$input" | grep -o '[0-9]' | head -1)
             [ "$num" ] || num=1
             session=$(tmux list-sessions -F "#S" | sed -n "${num}p")
             if [ -n "$session" ]; then
                 exec tmux attach -t "$session"
             else
                 exec tmux new-session  # NEW unnamed
             fi
             ;;
         *) exec tmux new-session ;;  # Enter = IMMER NEW unnamed
     esac
     exit 0
fi
exec tmux attach || tmux new-session



Datei ausführbar machen:
chmod +x /usr/local/bin/tmux-chooser.sh

Datei /etc/profile.d/checkconnection.sh folgender Inhalt:

# Tmux Chooser bei SSH-Login
if [ "${SSH_CONNECTION}" != "" ] && [ -z "$TMUX" ]; then
     /usr/local/bin/tmux-chooser.sh
fi



Damit werden mir bei einer ssh Verbindung vorhandene tmux Sessions zur 
Auswahl/wiederverbinden aufgelistet, eine neue tmux Session gestartet 
oder eben alternativ ohne tmux.


Gruß
Christian








Mehr Informationen über die Mailingliste Eisfair