отключить закрытие окна CTRL-D в терминаторе (эмулятор терминала)


46

Я часто захожу через несколько сессий SSH. Чтобы выйти из моих сеансов, я нажимаю CTRL+ d, пока не вернусь на свою локальную машину.

Однако иногда я нажимаю один раз слишком много, и мой терминал выходит.

Есть ли способ заблокировать CTRL+ dот закрытия моего терминала?

Я использую терминатор в качестве эмулятора терминала




Смотрите этот вопрос для Zsh.
rgov

Ответы:


50

Вы также можете отключить eof вообще в bash:

set -o ignoreeof


2
Но если вы сделаете это без разбора, это будет применяться и при входе в систему через ssh.
Жиль "ТАК - перестань быть злым"

3
Я использую терминатор 0,97. Когда я устанавливаю -o ignoreeof, он блокирует ctrl-d (не выходит) 10 раз с сообщением: используйте «exit», чтобы покинуть оболочку. 11-го ctrl-d выходит.
AAAfarmclub

OMG, спасибо !! Это (случайные терминальные помехи) было для меня огромным раздражением. Добавлено в ~ / .bashrc; работает в консоле | xfce4-терминал | ... :-D
Виктория Стюарт

@ Жиль Хороший вклад, у вас есть решение для этого?
Готье

34

Вы можете использовать IGNOREEOFпеременную окружения в bash. Итак, export IGNOREEOF=42вам придется нажать Ctrl+Dсорок два раза, прежде чем он действительно выйдет из вашей оболочки.

У POSIX setтоже есть -o ignoreeofнастройка.


4
Сорок три раза: первые сорок два игнорируются, а последний фактически выходит. :-)
deltab

Я полагал, что Сорок три раза будет слишком излишним. Определенно, это set -o ignoreeofбыло бы более практично
Ryekayo

3
Но если вы сделаете это без разбора, это будет применяться и при входе в систему через ssh.
Жиль "ТАК - перестань быть злым"

Но вы должны писать команду каждый раз, когда открываете терминал. Как вы отключаете это навсегда?
MycrofD

2
@MycrofD Добавьте это к вашему .bashrcили .profile.
Ян Вархол
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.