Deaktivieren Sie STRG-D, um mein Fenster mit dem Terminator-Terminalemulator zu schließen)

Deaktivieren Sie STRG-D, um mein Fenster mit dem Terminator-Terminalemulator zu schließen)

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

IGNOREEOFSie können die Umgebungsvariable in Bash verwenden . export IGNOREEOF=42Sie müssen also Ctrl+D42 Mal drücken, bevor Ihre Shell tatsächlich beendet wird.

POSIX sethat auch eine -o ignoreeofEinstellung.

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 \cdso 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

verwandte Informationen