Jak zapobiec czyszczeniu danych wyjściowych terminala, gdy „wychodzę” z sesji SSH?

23

Taka jest sytuacja: otwieram terminal w Ubuntu i robię ssh host-1, co działa zgodnie z oczekiwaniami. Z hosta-1 robię to ssh host-2, co znowu działa dobrze i łączy mnie z hostem-2. Z hosta-2 robię na przykład echo "blah", który drukuje blahna ekranie. Problem: Jeśli to zrobię exit, ekran zostanie wyczyszczony i pozostaną mi tylko następujące elementy:

Connection to host-2 closed.
myusername$

Jak mogę zapobiec usuwaniu danych wyjściowych z ekranu generowanego przez polecenia uruchamiane na hoście-2 (tj. blahItp.) Po exitpowrocie na hoście-1?

Trochę debugowania już zrobiłem: Miałem znajomego, który zalogował się do hosta-1 i hosta-2, dokładnie tak jak powyżej, a kiedy exitjest z hosta-2, jego ekran NIE jest wyczyszczony. To musi mieć coś wspólnego z moim środowiskiem ... prawda? Jakieś pomysły, co to może być?

Próbowałem tego za pomocą PuTTY w systemie Windows XP i z terminala w Ubuntu - niezależnie od tego samego.

Mureinik
źródło

Odpowiedzi:

25

Czek ~/.bash_logout

Prawdopodobnie zawiera clearpolecenie. Skomentuj to.

Ponadto w wielu terminalach (np. gnometerm) Możesz po prostu przewinąć do tyłu i zobaczyć, co zostało „wyczyszczone”.

DavidPostill
źródło
Tak, to było w ~ / .bash_logout. Dzięki :)
2

Podałeś Ubuntu, ale ze względu na innych, jeśli jest to niedawno zaktualizowany cygwin, edytuj /etc/bash.bash_logouti skomentuj:

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

Przyszłe aktualizacje nie zastąpią pliku, jeśli zostanie zmodyfikowany.

Stuart Rothrock
źródło