Desative CTRL-D de fechar minha janela com o emulador de terminal terminador)

Desative CTRL-D de fechar minha janela com o emulador de terminal terminador)

Muitas vezes estou logado em várias sessões SSH ao mesmo tempo. Para sair de várias sessões, pressiono CTRL+ daté voltar à minha máquina local.

No entanto, ocasionalmente pressiono demais e meu terminal sai.

Existe uma maneira de fazer com que CTRL+ dnão consiga fechar meu terminal?

Estou usando o terminator como meu emulador de terminal.

Responder1

Você também pode desativar o eof geralmente no bash:

set -o ignoreeof

Responder2

Você pode usar a IGNOREEOFvariável de ambiente no bash. Então export IGNOREEOF=42você terá que pressionar Ctrl+Dquarenta e duas vezes antes de realmente sair do seu shell.

POSIX também settem uma -o ignoreeofconfiguração.

Responder3

O caractere Ctrl-D EOF está sendo interpretado pelo shell, e não especificamente pelo emulador de terminal. Outras respostas abordaram as configurações do bash, embora outros shells sejam diferentes.

Para C-shells (por exemplo, tcsh), você pode adicioná-lo ao seu arquivo tcshrc:

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

Para cascas de peixe, o comportamento Ctrl-D é controlado pela combinação de teclas. A configuração padrão é delete-or-exit, então você pode definir o atalho de teclado para \cdsuportar delete-charapenas exclusão.

Mais detalhes estão noProblema de peixe no Github(por exemplo, em versões anteriores a 3.0 você precisa adicionar o binda uma função chamada fish_user_key_bindings, depois da 3.0 você pode colocá-lo em ~/.config/fish/config.fish) mas em resumo:

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

informação relacionada