Ctrl-d를 사용하여 tmux가 종료되는 것을 어떻게 방지할 수 있나요?

Ctrl-d를 사용하여 tmux가 종료되는 것을 어떻게 방지할 수 있나요?

나는 내 서버에서 tmux를 사용하고 최근 ctrl-d가 tmux를 종료하고 모든 세션 정보를 잃게 된다는 사실을 발견했습니다. 내 의도는 단순히 ssh 세션을 종료하는 것이었지만 너무 늦을 때까지 여전히 tmux에 있다는 것을 알아차리지 못했습니다.

앞으로 Ctrl-D를 사용할 때 주의해야 한다는 것을 알고 있지만 실수로 Ctrl-D를 눌렀을 때 tmux가 종료되는 것을 방지할 수 있는 방법이 있는지 궁금합니다. 프롬프트, 확인 또는 분리와 같은 솔루션이 좋을 것입니다.

답변1

정확하게 말하자면 Ctrld종료하는 것이 아니라 tmux쉘을 종료하는 것입니다. 해당 쉘이 세션의 마지막 창의 유일한 창에서 실행 중이면 tmux세션이 종료되고 tmux클라이언트가 종료됩니다.

Ctrld쉘이 종료되는 것을 방지하려면 IGNOREEOF쉘 변수를 설정하거나 ignoreeof쉘 옵션을 설정하면 됩니다. 다음 중 하나를 .bashrc파일에 넣으세요.

IGNOREEOF=10   # Shell only exists after the 10th consecutive Ctrl-d

set -o ignoreeof  # Same as setting IGNOREEOF=10

답변2

IGNOREEOFCtrl나에게는 효과가 없었기 때문에 +를 .tmux.conf D에 바인딩했습니다 .detach

bind-key -n C-d detach

이는 -ntmux 접두사와 같은 사전 이스케이프 시퀀스가 ​​필요하지 않음을 의미합니다.

답변3

게다가체프너의eof다음과 같이 undef설정 하여 터미널이 EOF를 보내는 것을 완전히 중지할 수 있습니다 stty.

stty eof undef

다음을 사용하여 재설정:

stty eof '^d'

관련 정보