GNU 화면에서 Ctrl+C를 비활성화하시겠습니까?

GNU 화면에서 Ctrl+C를 비활성화하시겠습니까?

GNU 화면에서 키 조합 Ctrl+를 비활성화하는 방법은 무엇입니까? C사실 익숙해져야 하는데 습관적으로 ++ 대신 Ctrl+를 누르네요.CCtrlAD

답변1

이제 나는 스스로 답을 찾았습니다. 설명하다

defscrollback 30000
bindkey "^C" echo 'Blocked. Please use [Ctrl]+[A] + [Ctrl]+[Enter] + [Y]'
bindkey "^D" echo 'Blocked. Please use [Ctrl]+[A] + [Ctrl]+[Enter] + [Y]'
bind "^M" quit

파일에

~/.screenrc

Cc가 명령만 실행 echo하고 더 이상 인터럽트를 보내지 않도록 합니다. 대신 ^M또는 Ctrl+를 사용하여 화면을 중지 할 수 있습니다 Enter. 저는 bind( bindkey다름)을 사용하기 때문에 먼저 Ca를 눌러야 합니다. 확인 메시지는 를 통해 확인할 수 있습니다 Y. 이 솔루션의 장점은 실제 Java 또는 Python 프로그램을 변경할 필요가 없다는 것입니다. 새 ~/.screenrc파일을 읽으려면 실행 중인 screen 세션을 다시 시작해야 한다는 점을 기억하세요 . (이 경로는 사용자에 따라 다릅니다(예: /root/.screenrc또는 /home/user/.screenrc.)

유용한 URL:

시험용

  • 화면 버전 4.01.00devel(GNU) 2006년 5월 2일
  • 우분투 14.04.5 LTS
  • MobaXterm v10.9 빌드 3656(Windows)

답변2

Ctrl+CINT현재 포그라운드에 있는 프로세스에 (인터럽트) 신호를 보냅니다. 이는 전송할 수 있는 중요한 신호이므로 실수로 이 키 조합을 누르지 않는 방법을 배우는 것이 가장 좋습니다.

할 수 있는INT신호를 보내는 다른 제어 순서를 갖도록 키 조합을 다시 매핑할 수도 있습니다 . 예를 들어, Ctrl+G쉘 명령을 사용하여 동일한 작업을 수행 할 수 있습니다.

stty intr ^G

그러면 키 조합은 Ctrl+CASCII 코드 3 문자만 전송합니다.

다시 한번 말하지만, 올바르게 사용하는 방법을 익히면 그다지 큰 문제가 되지 않을 수도 있습니다 Ctrl+C.

답변3

다음과 같이 로깅을 사용하면 우선 이 문제를 피할 수 있습니다.

  1. 화면을 생성할 때 다음 명령을 사용하여 로그 파일을 생성합니다.
screen -L -Logfile file_name.log
  1. 이제 화면을 검사하려면 화면을 복원하지 말고 대화형으로 로그 파일을 읽으세요.하나이 두 명령은 다음과 같습니다.
tail -f -n 20 file_name.log
watch tail file_name.log

도움이 되었기를 바랍니다.

관련 정보