Ctrl-s, 화면 출력 멈춤, 해법은 Ctrl-q?

하려고 했던 작업은 못하고 있고, 또 딴 길로 빠져버렸다.
그래도, 한가지 알아낸 게 있으니 위안거리를 삼아야 하려나.

Vim 으로 작업을 하다가 잘못해서 Ctrl-s 를 눌러버렸다. 터미널은 Tilix 였는데, 여기선 아무런 경고 문구도 뿌려주지 않았고, 화면은 그냥 멈춰버렸다.

이게 뭔 일이야 도대체?

똑같은 작업을 Konsole 에서 해보았다. Konsole 은 친절했다.

음..? 링크를 열어보니, Software flow control 에 관한 장황한 설명이 나오고, 똑같이 Ctrl-q 로 해제하라고 한다.

문제는 여기서 시작됐다. Ctrl-q 가 내 시스템(KDE-Neon)에선 작동하지 않았다.

아.. 또 왜????

이런 저런 시도와 짜증 끝에, 답은 Ctrl-Alt-q 라는 사실을 알아냈다.
이 문제는 KDE 와 관계가 있는 듯 하다. LXDE 에선 정상 작동했고, 심지어 KDE 에서도, Ctrl-Alt-F2 를 눌러 가상콘솔로 나간 뒤에도 Ctrl-q 는 문제가 없었다.
오직, KDE Plasma 상황에서만 이 문제가 발생한다.

아무튼, 얼핏 훑어본 바로는, 이 기능은 구시대의 산물이다. 요즘은 굳이 없어도 되는 기능인데, 이렇게 얼핏 잘못 사용됨을 방지하기 위해선 뭔가 조치가 필요하다.

두가지 방법을 찾았는데, 어떤 게 좋을 진 모르겠다.

하나는 stty -ixon 을 사용한다. man page 에는 “enable sending of start/stop characters” 라고 되어 있다.
처음엔 이게 무슨 소리인지 이해가 안됐었는데, 지금 보니 언뜻 알 듯도 하다.
말 그대로 해석하자면, “start/stop 문자 전송을 허락한다.” (호부호형?) 가 되므로, Ctrl-s, Ctrl-q 를 Xoff, Xon 신호로 인식하지 말고, 그냥 ‘문자’로 인식하라는 뜻이 아닐지?

실제로 저렇게 설정하고 작동해보면, 화면에 Ctrl-s 를 눌렀을 때 ^S 가 표시된다. Ctrl-q 는 아무 표시도 안되고 그냥 깜빡하고 말지만, 아무튼 Xoff, Xon 기능은 작동하지 않는다.

또는, stty ixany 를 사용하는 방법이 있다. 이건 “let any character restart output, not only start character” 의 의미로, Ctrl-s 가 Xoff 신호를 보내지만, 아무 키나 눌러도 Xon 으로 재작동하게끔 해준다.

어떤 걸 써도 무리는 없을 듯 하다.
.bashrc 또는 .zshrc 에 다음 행 중 하나를 추가한다.

stty -ixon
stty ixany

-ixon 이고, ixany 이다. 하나는 – 가 있고, 하나는 없다. 꼭 저렇게 써야 되는 지는 모르겠지만, 저렇게 쓰지 않으니 제대로 동작하지 않았다.

아… 삽질 인생..
어떻게 매일 하나씩 이렇게 Keep digging 할 수가 있는 건지?

One Comment

안녕하세요. 글 남겨주셔서 고맙습니다.