desativar janela CTRL-D fechar no terminador (emulador de terminal)

46

Costumo fazer logon em várias sessões SSH. Para sair das minhas sessões, pressione CTRL+ d, até retornar à minha máquina local.

No entanto, às vezes pressiono muitas vezes e meu terminal sai.

Existe uma maneira de bloquear CTRL+ dde fechar meu terminal?

Estou usando o terminator como meu emulador de terminal

Martin Vegter
fonte
Duplicado de unix.stackexchange.com/questions/27588/…
Aaron Digulla
Veja esta pergunta para Zsh.
rgov 9/07

Respostas:

50

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

set -o ignoreeof

fanch
fonte
2
Mas se você fizer isso indiscriminadamente, isso se aplicará ao fazer login no ssh também.
Gilles 'SO- stop be evil'
3
Estou usando o terminador 0,97. Quando eu defino -o ignoreeof, ele bloqueia ctrl-d (não sai) 10 vezes com uma mensagem: Use "exit" para sair do shell. No 11º ctrl-d, ele sai.
precisa saber é o seguinte
OMG, obrigado !! Isso (cloures terminais acidentais) foi um enorme aborrecimento para mim. Adicionado ao ~ / .bashrc; trabalha no konsole | terminal xfce4 | ... :-D
Victoria Stuart
@Gilles Boa contribuição, você tem uma solução para isso?
Gauthier
34

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

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

ryekayo
fonte
4
Quarenta e três vezes: os primeiros quarenta e dois são ignorados e o último realmente sai. :-)
deltab
Imaginei que quarenta e três vezes seria redundante demais. Definitivamente o set -o ignoreeofseria mais prático
ryekayo
3
Mas se você fizer isso indiscriminadamente, isso se aplicará ao fazer login no ssh também.
Gilles 'SO- stop be evil'
Mas você precisa escrever o comando toda vez que abre um terminal. Como você desativa isso permanentemente?
MycrofD
2
@MycrofD Adicione isso ao seu .bashrcou .profile.
Jan Warchoł