[Eisfair] Arbeiten über eine ssh-Verbindung

Olaf Jaehrling eisfair at ojaehrling.de
Di Jan 20 22:23:19 CET 2026


Hallo allerseits,

Christian Richter schrieb am 20.01.26 um 18:54:

> 
> Die Idee ist aber gut, ich ändere das einfach mal.  :)

Wenn das direkt in
/etc/profile.d/checkconnection.sh
geschrieben wird funktioniert "q" nicht und man wird direkt wieder 
herausgeschmissen. Man wird also gezwungen eine tmux-session zu öffnen.
Ausserdem fand ich es irritierend wenn nur eine alte Session offen ist, 
dass als Auswahl 1-1 dort steht.
Ich habe das script mal etwas angepasst. Das hat allerdings zur Folge, 
dass man bei der 1. Session immer in die tmux kommt. Um das zu ändern 
muss man nur die beiden Kommentarzeichen der Zeilen 19 und 20 austauschen.

###########################################
      1	#!/bin/bash
      2	if [ "${SSH_CONNECTION}" != "" ]
      3	then
      4	    if [ -n "$SSH_CONNECTION" ] && [ -z "$TMUX" ]
      5	    then
      6	        if tmux list-sessions >/dev/null 2>&1
      7	        then
      8	            count=$(tmux list-sessions | wc -l)
      9	            echo
     10	            echo "tmux Sessions ($count):"
     11	            tmux list-sessions -F "#S" | nl -w2 -s': '
     12	            if [ "$count" -ge "2" ]
     13	            then
     14	                echo -n "[Enter=NEW] q=Shell or session: 1-$count: "
     15	            else
     16	                echo -n "[Enter=NEW] q=Shell or $count for 
attached session: "
     17	            fi
     18	        else
     19	            exec tmux new-session
     20	            #echo -n "[Enter=NEW tmux] q=Shell: "
     21	        fi
     22	            IFS= read -r input
     23	            input=$(echo "$input" | sed 's/[^0-9qQ]//g' | tr 
'[:upper:]' '[:lower:]')
     24	
     25	        case "$input" in
     26	            q)
     27	                echo "Shell." >/dev/null
     28	            ;;
     29	
     30	            *[0-9]*)
     31	                num=$(echo "$input" | grep -o '[0-9]' | head -1)
     32	                [ "$num" ] || num=1
     33	                session=$(tmux list-sessions -F "#S" | sed -n 
"${num}p")
     34	                if [ -n "$session" ]
     35	                then
     36	                    exec tmux attach -t "$session"
     37	                else
     38	                    exec tmux new-session  # NEW unnamed
     39	                fi
     40	            ;;
     41	        *)
     42	            exec tmux new-session  # Enter = IMMER NEW unnamed
     43	            exit 0
     44	            ;;
     45	        esac
     46	        fi
     47	    fi
###########################################

Danke für die Idee.

VG

Olaf

> 
> 
> Gruß
> Christian
> 

-- 
Paketserver: https://ojaehrling.de/eis/index.txt


Mehr Informationen über die Mailingliste Eisfair