%20.png)
Ich bin oft in mehreren SSH-Sitzungen gleichzeitig angemeldet. Um mich von mehreren Sitzungen abzumelden, drücke ich CTRL+ d, bis ich wieder auf meinem lokalen Rechner bin.
Wenn ich die Taste jedoch gelegentlich einmal zu oft drücke, wird mein Terminal beendet.
Gibt es eine Möglichkeit, das CTRLSchließen dmeines Terminals unmöglich zu machen?
Ich verwende Terminator als meinen Terminalemulator.
Antwort1
Sie können eof in Bash auch generell deaktivieren:
set -o ignoreeof
Antwort2
IGNOREEOF
Sie können die Umgebungsvariable in Bash verwenden . export IGNOREEOF=42
Sie müssen also Ctrl+D
42 Mal drücken, bevor Ihre Shell tatsächlich beendet wird.
POSIX set
hat auch eine -o ignoreeof
Einstellung.
Antwort3
Das Strg-D-EOF-Zeichen wird von der Shell interpretiert und nicht speziell vom Terminalemulator. Andere Antworten haben Bash-Einstellungen behandelt, obwohl andere Shells anders sind.
Für C-Shells (z. B. tcsh) können Sie es zu Ihrer tcshrc-Datei hinzufügen:
# Prevent accidental logouts completely
set ignoreeof
# Just prevent the first two, and allow the third
set ignoreeof=3
Bei der Fish-Shell wird das Verhalten von Strg-D durch die Tastenkombination gesteuert. Die Standardeinstellung ist delete-or-exit
, daher können Sie die Tastenkombination für \cd
so einstellen delete-char
, dass nur Löschen unterstützt wird.
Weitere Einzelheiten finden Sie imFish Github-Problembind
(z. B. müssen Sie in Versionen vor 3.0 zu einer Funktion namens hinzufügen fish_user_key_bindings
, nach 3.0 können Sie es in einfügen ~/.config/fish/config.fish
), aber zusammenfassend:
bind \cd delete-char # Don't exit on accidental Ctrl-D
bind \cd\cd\cd delete-or-exit # Exit on the third one