Emacs Cx Cs (저장 버퍼) 사용시 GNU 화면 관련 문제


33

GNU Screen에서 emacs를 사용할 때 Cx Cs를 호출하면 화면이 멈추고 키보드 입력에 응답하지 않습니다.

나는 이것을 재현 할 수 없지만 적어도 하루에 한 번은 스크린 세션을 종료하고 다시 시작해야합니다.

이 문제를 어떻게 해결할 수 있습니까?

감사


어떤 유닉스? 리눅스, BSD, 솔라리스 사이에 터미널 장치 처리에 많은 차이점이 있습니다.
grawity

1
실제로 Putty를 사용하여 Ubuntu Server LTS 인스턴스에 ssh하고 있습니다.
simao

답변:


52

CtrlS"일시 정지 전송"(XOFF) 흐름 제어 문자입니다. 일반적으로 tty 드라이버 또는이 경우 Screen에 의해 처리됩니다. 그 반대는 XON 또는 CtrlQ입니다.

Emacs를 시작하면 일반적으로 흐름 제어뿐만 아니라 일반적인 CtrlC"인터럽트"와 같은 대부분의 특수 문자 를 대신합니다.

  • C-a :flow off이 화면 창의 흐름 제어를 비활성화하는 데 사용 합니다.

    로 확인 하십시오 (팝업에서 C-a :info찾아보십시오 -flow).

  • 도움이되지 않으면 stty -ixon또는을 시도하십시오 stty stop undef.

    (당신은 사용하여 별도의 창에서 그것을 할 수 있습니다 stty -f /dev/tty1또는 stty </dev/tty1.)

내 시스템 (Linux) 에서 tty에 대한 흐름 제어가 비활성화되면 화면 표시됩니다. 그러나 OS에는 약간의 제한이있을 수 있습니다.


:flow off일했다. 감사! 내가 영구적으로 만들 수있는 방법은 무엇입니까?
simao

1
@simao : defflow의 매뉴얼 페이지를 참조하십시오 screen.
grawity

3
@simao와 @grawity의 의견에 대해 자세히 설명-흐름 제어를 영구적으로 비활성화하려면 (이것은 대부분의 사람들이 원하는 결과라고 가정 defflow off합니다) ~/.screenrc파일에 줄 을 추가 하거나 홈 디렉토리에 줄 을 만듭니다 (없는 경우). 이것은 내 이맥스가 screen창 안에서 제대로 작동하기에 충분했습니다 . 이 방법은 키를 리 바인드하기 전에 고려해야합니다.
pscl

2
이렇게하면 문제가 해결되었지만 아직 "모두 갑자기"화면이이 모드로 전환 된 이유를 아직 알지 못했을 것입니다. ?
malcook

1
우리는 GNU 화면과 GNU Emacs에 대해 이야기하고 있으며, 둘 다 원활하게 작동하는 방법을 찾지 못했습니다 ?? ...
yves Baumes

4

화면 아래에서 emacs를 사용할 때 잠긴 화면과 같은 문제가 더 많았습니다. 예를 들어, emacs의 Ca는 줄의 시작 부분으로 이동하여 화면에 가로 채서 작동하지 않습니다.

해결책:

다음을 사용하여 홈 디렉토리에 .screenrc 파일을 작성하십시오.

#Change escape character to C-u 
escape "^uu"                                                                    
#unbind ctrl+s from xoff in order to be able to search in emacs                 
bind s                                                                          
bind ^S                                                                         
#unbind ctrl+x from lockscreen in order to be able to save in emacs             
bind x                                                                          
bind ^X                                                                         

그런 다음 Ca 대신 새 화면을 열 때마다 Cu를 사용하여 새 화면 명령을 입력해야합니다. 다른 두 가지 변경 사항은 문제없이 화면에서 emacs를 사용할 수 있도록 변경해야 할 몇 가지 사항을 더 처리합니다.


C-u이맥스에게 중요한 열쇠입니다. 나는 그것이 좋은 아이디어라고 생각하지 않지만 .screenrc를 바꾸는 아이디어가 더 좋은 대안입니다.
vfclists
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.