wake-up-neo.com

Ctrl-s 중단 터미널 에뮬레이터?

Vimdoc에서 한 문장을 보았습니다.

Note: CTRL-S does not work on all terminals and might block
                further input, use CTRL-Q to get going again.

그리고이 열쇠는 실제로 내 vim을 중단시킵니다. emacs nox에서 C-s/C-x C-s를 사용할 때 아무런 문제가 없었기 때문에 이것이 vim의 잘못이라고 생각했습니다. 그러나 지금 맨 페이지를 읽고 Ctrl-s를 눌렀을 때 man도 멈 춥니 다 (less을 PAGER로 설정하고 있습니다).

그래서 누군가 무슨 일이 일어나고 있는지 말해 줄 수 있습니까?

터미널 에뮬레이터는 xtermlxterminal이며 tty에도이 문제가 있습니다. 그리고 Ctrl+q 모든 경우에 프로세스를 다시 적용합니다.

333
Hongxu Chen

이 기능을 소프트웨어 흐름 제어 (XON/XOFF 흐름 제어)라고합니다.

버퍼가 가득 찼거나 거의 다 찼거나 사용자가 C-s) "XON"신호가 수신 될 때까지 일시 정지하도록 데이터 링크의 송신 끝을 알리기 위해 "XOFF"를 보냅니다.

"XOFF"는 커널에서 TTY 드라이버에게 TTY 드라이버에 "XON"이 전송 될 때까지 데이터를 전송하는 프로세스 (동영상 일시 정지 등)를 대기 상태로 전환하도록 지시하는 것입니다. 프로세스가 처음부터 중지되지 않은 것처럼 커널을 다시 시작합니다.

C-s 터미널 스크롤 잠금을 사용합니다. 터미널이 스크롤되는 것을 방지합니다 ( "XOFF"신호를 전송하여 소프트웨어 출력을 일시 중지 함).

C-q는 스크롤 잠금을 비활성화합니다. 터미널 스크롤링 재개 ( "XON"신호를 전송하여 소프트웨어 출력을 재개함으로써).

이 기능은 레거시 (터미널이 매우 느리고 스크롤을 허용하지 않은 경우)이며 기본적으로 활성화되어 있습니다.

이 기능을 비활성화하려면 ~/.bash_profile 또는 ~/.bashrc :

stty -ixon
379
h3rrmiller

.bashrc 스크립트 끝에 다음을 추가했습니다.

#so as not to be disturbed by Ctrl-S ctrl-Q in terminals:
stty -ixon
28
Stephane Rolland