Ich bin mit 1,8 tmux und eine eingebaute in nicht Lösung finden. Diese Abhilfen passen zumindest für meine allgemeine Anwendungsfälle:
- Erfassung der vollständigen Scheibe Inhalt und die Suche nach dem letzten Befehl ssh darin (ich benutze das Wissen über das Ende meiner Prompt den Befehl mehr oder weniger zuverlässig zu detektieren
)
- Wenn dies nicht gelingt prüfe ich den Befehl das Fenster erstellt wurden, mit möglicherweise unter Verwendung der
shell-command
Option von tmux new-window
oder split-window
Befehle
Mein reconnect.sh
Skript sieht wie folgt aus. Das dreckigste daran ist, wie man den letzten ssh-Befehl aus dem Puffer holt. Bisher war "> ssh" genug für meine Situationen, um eine Zeile mit einer SSH-Verbindungsanfrage sicher zu erkennen, aber eine bessere Lösung wäre wünschenswert.
#!/bin/bash
# @TODO: change this according to your own prompt
# This is used to find lines connect ssh command in the pane buffer
PROMPT_SEPARATOR="> "
# get current pane buffer size and dimensions
HISTORY_LIMIT=`tmux display-message -p "#{history_limit}"`
VISIBLE_LINES=`tmux display-message -p "#{pane_height}"`
# search last ssh command in pane content
LINE=`tmux capture-pane -p -J -S -$HISTORY_LIMIT -E $VISIBLE_LINES | grep "${PROMPT_SEPARATOR}ssh " | tail -1`
if [ -n "$LINE" ]; then
echo $LINE | sed "s/.*$PROMPT_SEPARATOR//;"
else
# fall back to the command that might have been used to create the pane
# (not necessarily ssh but helpful anyway)
tmux list-panes -F "#{pane_active} #{pane_start_command}" | grep "^1 " | tail -1 | cut -d ' ' -f2-
fi
gespeichert ich dieses Skript in meinem ~/.tmux Verzeichnis und geänderte Tastenbelegungen für verschiedene split-window
und new-window
Verknüpfungen in meinem .tmux.conf
ähnlich wie diesen:
# try to reconnect to remote host when creating new window
bind c run-shell 'CMD=`~/.tmux/reconnect.sh`; tmux new-window "$CMD"'
Können Sie installieren tmux in Ihrem Home-Verzeichnis die entfernte Maschine? Ohne tmux bietet ssh Ihnen nur ein einziges Terminal. – chepner
Das ist das Problem, ich kann nichts auf dem Remote-Computer installieren .. Politik – user1019129