Wie kann ich verhindern, dass die Terminalausgabe gelöscht wird, wenn ich eine SSH-Sitzung beende?

23

Das ist die Situation: Ich öffne ein Terminal in Ubuntu und mache ssh host-1, was wie erwartet funktioniert. Von Host-1 aus tue ich das ssh host-2, was wieder gut funktioniert und mich mit Host-2 verbindet. Von Host-2 mache ich zum Beispiel echo "blah", was blahauf dem Bildschirm gedruckt wird . Problem: Wenn ich das tue exit, wird der Bildschirm gelöscht und mir bleibt nur Folgendes übrig:

Connection to host-2 closed.
myusername$

Wie kann ich verhindern, dass die Ausgabe von dem Bildschirm gelöscht wird, der von Befehlen generiert wird, die auf Host-2 (dh blahusw.) ausgeführt werden, nachdem ich exitzu Host-1 zurückgekehrt bin ?

Einige Fehlerbehebungsmaßnahmen, die ich bereits durchgeführt habe: Ich hatte einen Freund, der sich genau wie oben bei Host-1 und Host-2 anmeldete, und wenn er exitvon Host-2 ist, wird sein Bildschirm NICHT gelöscht. Es muss also etwas mit meiner Umgebung zu tun haben, oder? Irgendwelche Ideen woran es liegen könnte?

Ich habe dies mit PuTTY in Windows XP und von einem Terminal in Ubuntu aus versucht - das gleiche Verhalten, unabhängig davon.

Mureinik
quelle

Antworten:

25

Prüfen ~/.bash_logout

Es enthält wahrscheinlich einen clearBefehl. Kommentiere das aus.

Außerdem können Sie in vielen Terminals (z. B. gnometerm) einfach einen Bildlauf nach oben durchführen und sehen, was "gelöscht" wurde.

DavidPostill
quelle
Ja, es war in ~ / .bash_logout. Vielen Dank :)
2

Sie haben Ubuntu angegeben. Wenn es sich jedoch um ein kürzlich aktualisiertes Cygwin handelt, sollten Sie Folgendes bearbeiten /etc/bash.bash_logoutund auskommentieren :

if [ "$SHLVL" = 1 ]; then
    [ -x /usr/bin/clear ] && /usr/bin/clear
fi

Zukünftige Updates überschreiben die Datei nicht, wenn sie geändert wird.

Stuart Rothrock
quelle