it-swarm.dev

터미널에서 실수로 Ctrl-S를 누른 후 고정을 해제하는 방법은 무엇입니까?

내가 아주 자주 일어났던 상황이다 : 내가 누른 후 (다른 의도로) Ctrl-S 터미널에서는 터미널과의 상호 작용 (입력 또는 출력)이 고정됩니다. 아마도 일종의 "스크롤 잠금"일 수도 있습니다.

이 후에 터미널을 고정 해제하려면 어떻게합니까?

(이번에는 apt-Shell 내부 bash 내부 urxvt-- 다음 중 특수 처리를 담당하는 담당자가 누구인지 확실하지 않음 Ctrl-S: 나는 명령의 역사를 거꾸로 검색했다 C-r, 평소와 마찬가지로 readline을 사용했지만, 적어도 Emacs에서는 평소와 같이 역사를 통해 "뒤로"가고 싶었습니다.C-s ( 1 , 2 , ) 그러나 터미널이 정지되었습니다. 글쎄, 과거의 것을보기 위해 스크롤/페이징은 터미널에서 여전히 작동하지만 프로세스와 상호 작용하지 않습니다.)

772

Ctrl-Q

이 기능을 모두 비활성화하려면 시작 스크립트에서 stty -ixon를 사용하십시오. 어떤 키가 다시 흐르도록하려면 stty ixany를 사용하십시오.

추신 :이를 수행하는 것은 터미널이나 셸이 아니라 OS의 터미널 드라이버입니다.

924
ak2

Ctrl-Q 실제로 대답입니다. 나는 ak2의 정답 의 여백에 맞지 않기에 너무 긴 이것의 작은 역사를 던질 것이라고 생각했다.

어두운 시대로 거슬러 올라가는 터미널은 긴 유선 또는 모뎀이있는 전화선을 통해 원격 장치 (원래 전신이 전신 키보다 작동하기가 훨씬 쉽기 때문에 원래 다른 터미널)에 연결된 대규모 장비였습니다. 유닉스가 개발 될 때, ASCII 코드는 이미 잘 확립되어있었습니다 (그러나 IBM의 경쟁 EBCDIC 코드는 여전히 고려 대상 이었지만)).

최초의 터미널은 수신 된 모든 문자의 인쇄 기록을 유지했습니다. 문자가 프린트 헤드보다 빨리 입력되지 않는 한 최소한 문자를 입력 할 수 있습니다. 그러나 CRT 기반 터미널이 가능 해지 자마자 문제는 약 25 줄만 CRT에 맞았으며, 80 자 25 줄은 충분히 표현할 수 있다는 것입니다. RAM 아무도 더 이상 화면 상단에서 스크롤 한 문자의 경우 RAM.

따라서 독자가 따라 잡을 수 있도록 송신단이 일시 정지해야한다는 신호가 필요하다.

7 비트 ASCII 코드에는 문자를 제어하기위한 33 개의 코드 포인트가 있습니다 (0 ~ 31 및 127). 일부는 NUL (공백과 같이 잘 확립 된 목적을 가짐) 스레딩, 틈 및 스플 라이스 용 용지 테이프 리더), DEL (7 개 구멍을 모두 뚫어 표시 한 용지 테이프의 "교차 된"문자), BEL (Ding!), CR, LFTAB. 그러나 터미널 장치 자체를 제어하기 위해 4 개가 명시 적으로 정의되었습니다 (DC1에서 DC4 일명 Ctrl + Q, Ctrl + R, Ctrl + S 및 Ctrl + T).

가장 좋은 추측은 일부 엔지니어가 (니모닉이 진행됨에 따라) "Stop"에 대해 "S", "Continue"에 대해 "Q"가 너무 나쁘지 않고 DC3 "전송을 중지하십시오"를 의미하고 DC1 "확인, 지금 계속 보내기"를 의미합니다.

유닉스가 벨 랩스 (Bell Labs)에 둥지를두고 세상에 나가기 전까지는 그 협약조차 이미 잘 확립되어있었습니다.

이 규칙은 소프트웨어 흐름 제어라고하며 실제 직렬 장치에서 매우 일반적입니다. 통신 채널에서 다른 목적으로 이러한 문자를 사용하는 것을 막기 때문에 올바르게 구현하기가 쉽지 않으며 수신 신호보다 더 많은 전송을 피하기 위해 보류중인 수신 문자보다 중지 신호를 처리해야합니다. 핸들.

실제적인 경우, 흐름 제어를 위해 직렬 데이터 스트림에서 대역 외의 추가 신호를 사용하는 것이 매우 바람직합니다. 추가 신호 와이어를 제공 할 수있는 직접 유선 연결에서는 하드웨어 핸드 셰이크가 사용 중이므로 다른 용도로 사용할 수 있습니다.

물론 오늘날의 터미널 창은 실제 물리적 직렬 포트를 사용하지 않고 스크롤 막대가 있으며 실제로 소프트웨어 핸드 쉐이킹이 필요하지 않습니다. 그러나 협약은 지속됩니다.

Richard Stallman은 emacs의 첫 번째 릴리스에서 증분 검색에 대한 Ctrl + S 맵핑에 대한 불만을 접수했으며 7 비트 소프트웨어 플로우 제어 연결에 의존해야하는 사용자에게는 다소 동정심이 없다는 주장을 기억합니다.

412
RBerteig