
Ich verwende SSH häufig innerhalb des Bildschirms, um eine Verbindung zu einer Reihe von Maschinen herzustellen. Ideal wäre es, wenn in der Titelzeile Informationen über den Server angezeigt würden, mit dem ich per SSH verbunden bin (z. B. Maschinenname, Betriebszeit und Informationen von vmstat).
Mir ist aufgefallen, dass der backtick
Screen-Befehl anscheinend nur dort ausgeführt wird, wo auch Screen ausgeführt wird, nicht auf dem Remote-Computer. Gibt es eine einfache Möglichkeit, Backtick zu erhalten, um den Befehl auf dem Computer auszuführen, der gerade per SSH verbunden ist?
Antwort1
Screen erkennt einige zusätzliche Steuersequenzen, die das Terminal innerhalb eines Fensters senden kann, um Screen zu beeinflussen. Besonders interessant für Sie werden wahrscheinlich die Sequenzen \ek und \e\ sein. Alles dazwischen wird von Screen als Fenstertitel verwendet. Sie können den Fenstertitel dann in Ihre Beschriftungszeile einfügen.
http://www.gnu.org/software/screen/manual/screen.html#index-control-sequences-107
Probieren Sie Folgendes aus:
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007\ek${USER}@${HOSTNAME}: ${PWD/$HOME/~}\e\\"'
Ich verwende das als Eingabeaufforderung auf Remote-Systemen. Der Fenstertitel wird automatisch auf gesetzt user@name: path
. Die Escape-Sequenz für Screen steht am Ende dieses Befehls.