Deshabilite CTRL-D para que no cierre mi ventana con el emulador de terminal Terminator)

Deshabilite CTRL-D para que no cierre mi ventana con el emulador de terminal Terminator)

A menudo inicio sesión en varias sesiones SSH a la vez. Para cerrar sesión en varias sesiones, presiono CTRL+ d, hasta volver a mi máquina local.

Sin embargo, de vez en cuando lo presiono demasiadas veces y mi terminal se cierra.

¿Hay alguna manera de hacer que CTRL+ dno pueda cerrar mi terminal?

Estoy usando Terminator como mi emulador de terminal.

Respuesta1

También puedes desactivar eof en general en bash:

set -o ignoreeof

Respuesta2

Puedes usar la IGNOREEOFvariable de entorno en bash. Entonces export IGNOREEOF=42tendrás que presionar Ctrl+Dcuarenta y dos veces antes de que salga de tu shell.

POSIX también settiene una -o ignoreeofconfiguración.

Respuesta3

El carácter Ctrl-D EOF lo interpreta el shell, en lugar de hacerlo específicamente el emulador de terminal. Otras respuestas han cubierto la configuración de bash, aunque otros shells son diferentes.

Para C-shells (por ejemplo, tcsh), puede agregarlo a su archivo tcshrc:

# Prevent accidental logouts completely
set ignoreeof
# Just prevent the first two, and allow the third
set ignoreeof=3

Para las conchas de pescado, el comportamiento Ctrl-D se controla mediante la combinación de teclas. La configuración predeterminada es delete-or-exit, por lo que puede configurar la combinación de teclas para \cdque delete-charsolo admita la eliminación.

Más detalles están en elProblema de pescado en Github(por ejemplo, en versiones anteriores a la 3.0 es necesario agregarlo binda una función llamada fish_user_key_bindings, después de la 3.0 puedes colocarlo en ~/.config/fish/config.fish) pero en resumen:

bind \cd delete-char  # Don't exit on accidental Ctrl-D
bind \cd\cd\cd delete-or-exit  # Exit on the third one

información relacionada