[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