터미네이터 터미널 에뮬레이터로 창을 닫지 못하도록 CTRL-D 비활성화)

터미네이터 터미널 에뮬레이터로 창을 닫지 못하도록 CTRL-D 비활성화)

여러 SSH 세션에 동시에 로그인되는 경우가 많습니다. 여러 세션에서 로그아웃하려면 로컬 컴퓨터로 돌아올 때까지 CTRL+ 를 누릅니다 .d

그러나 가끔씩 너무 많이 누르면 터미널이 종료됩니다.

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

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

답변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

생선 껍질의 경우 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

관련 정보