터미네이터 터미널 에뮬레이터를 사용하여 CTRL-D 비활성화(창 닫기)

터미네이터 터미널 에뮬레이터를 사용하여 CTRL-D 비활성화(창 닫기)

나는 종종 동시에 여러 SSH 세션에 로그인합니다. 여러 세션에서 로그아웃하려면 로컬 컴퓨터로 돌아갈 때까지 CTRL+를 누릅니다 .d

그러나 가끔 너무 많이 누르면 터미널이 종료되는 경우가 있습니다.

CTRL+ d터미널을 닫을 수 없게 만드는 방법이 있나요 ?

터미널 에뮬레이터로 Terminator를 사용하고 있습니다.

답변1

Bash에서 eof를 비활성화할 수도 있습니다.

set -o ignoreeof

답변2

IGNOREEOFBash에서 환경 변수를 사용할 수 있습니다 . 따라서 실제로 쉘을 종료하기 전에 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하도록 키바인딩을 설정할 수 있습니다 .\cddelete-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

관련 정보