wyłącz okno CTRL-D zamknij w terminatorze (emulator terminala)


46

Często jestem zalogowany przez wiele sesji SSH. Aby wylogować się z sesji, naciskam CTRL+ d, dopóki nie wrócę na komputer lokalny.

Czasami jednak naciskam raz za dużo i mój terminal wychodzi.

Czy istnieje sposób na zablokowanie CTRL+ dprzed zamknięciem mojego terminala?

Używam terminatora jako emulatora terminala




Zobacz to pytanie do Zsh.
rgov

Odpowiedzi:


50

Możesz także wyłączyć eof ogólnie w bash:

set -o ignoreeof


2
Ale jeśli zrobisz to bez rozróżnienia, będzie to miało zastosowanie również po zalogowaniu przez ssh.
Gilles „SO- przestań być zły”

3
Używam terminatora 0.97. Kiedy ustawię opcję -o ignoreeof, blokuje ctrl-d (nie wychodzi) 10 razy z komunikatem: Użyj „exit”, aby opuścić powłokę. Na 11 ctrl-d, wychodzi.
AAAfarmclub

OMG, dziękuję !! To (przypadkowe zaciski końcowe) było dla mnie ogromną irytacją. Dodano do ~ / .bashrc; działa w konsoli | xfce4-terminal | ... :-D
Victoria Stuart

@Gilles Dobry wkład, czy masz na to rozwiązanie?
Gauthier

34

Możesz użyć IGNOREEOFzmiennej środowiskowej w bash. Tak export IGNOREEOF=42i musisz nacisnąć Ctrl+Dczterdzieści dwa razy, zanim faktycznie przerywa powłokę.

POSIX też setma -o ignoreeofustawienie.


4
Czterdzieści trzy razy: pierwsze czterdzieści dwa są ignorowane, a ostatni faktycznie się kończy. :-)
deltab

Uznałem, że czterdzieści trzy razy byłoby zbyteczne. Zdecydowanie set -o ignoreeofbyłoby to bardziej praktyczne
ryekayo

3
Ale jeśli zrobisz to bez rozróżnienia, będzie to miało zastosowanie również po zalogowaniu przez ssh.
Gilles „SO- przestań być zły”

Ale musisz napisać polecenie za każdym razem, gdy otwierasz terminal. Jak to wyłączyć na stałe?
MycrofD,

2
@MycrofD Dodaj to do swojego .bashrclub .profile.
Jan Warchoł
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.