나는 종종 동시에 여러 SSH 세션에 로그인합니다. 여러 세션에서 로그아웃하려면 로컬 컴퓨터로 돌아갈 때까지 CTRL+를 누릅니다 .d
그러나 가끔 너무 많이 누르면 터미널이 종료되는 경우가 있습니다.
CTRL+ d터미널을 닫을 수 없게 만드는 방법이 있나요 ?
터미널 에뮬레이터로 Terminator를 사용하고 있습니다.
답변1
Bash에서 eof를 비활성화할 수도 있습니다.
set -o ignoreeof
답변2
IGNOREEOF
Bash에서 환경 변수를 사용할 수 있습니다 . 따라서 실제로 쉘을 종료하기 전에 42번을 export IGNOREEOF=42
눌러야 합니다 Ctrl+D
.
POSIX에도 설정이 set
있습니다 -o ignoreeof
.
답변3
Ctrl-D EOF 문자는 터미널 에뮬레이터가 아니라 쉘에 의해 해석됩니다. 다른 답변은 bash 설정을 다루었지만 다른 쉘은 다릅니다.
C 쉘(예: tcsh)의 경우 tcshrc 파일에 다음을 추가할 수 있습니다.
# Prevent accidental logouts completely
set ignoreeof
# Just prevent the first two, and allow the third
set ignoreeof=3
Fish 쉘의 경우 Ctrl-D 동작은 키 바인딩으로 제어됩니다. 기본값은 로 설정되어 있으므로 삭제 만 지원 delete-or-exit
하도록 키바인딩을 설정할 수 있습니다 .\cd
delete-char
자세한 내용은 다음을 참조하세요.Fish Github 문제bind
(예를 들어 3.0 이전에는 이라는 함수에 추가해야 하고 fish_user_key_bindings
, 3.0 이후에는 에 추가해야 합니다 ~/.config/fish/config.fish
.) 그러나 요약하면 다음과 같습니다.
bind \cd delete-char # Don't exit on accidental Ctrl-D
bind \cd\cd\cd delete-or-exit # Exit on the third one