추가 읽기

추가 읽기

때로는 마우스를 지원하는 응용 프로그램(예: Midnight Commander)이 충돌하거나 연결이 끊어지지만 해당 터미널이 일부 모드에 남아 있어 마우스 움직임을 문자열 명령으로 허용하는 경우가 있습니다.

(base) dimskraft@studebaker:~$ set mouse=
(base) dimskraft@studebaker:~$ set ttymouse=
(base) dimskraft@studebaker:~$ 0;32;19M32;33;19M32;34;19M32;36;19M32;37;19M32;38;20M32;39;20M32;41;20M32;42;20M32;43;20M32;44;20M32

그런 일이 발생하면 어떻게 비활성화합니까?

나는 그것을 관찰 Terminator하고 다른 창에서 다른 동작을 볼 수 있습니다. 보시다시피, 공백으로 설정하는 것은 도움이 mouse되지 ttymouse않습니다.

답변1

이 설정이 적용됩니다vim에게, 쉘이 아닌.

가장 좋은 방법은 터미널을 재설정하는 것입니다.

reset

이렇게 하면 마우스 추적이 비활성화되고 Midnight Commander와 같은 도구로 수행된 다른 변경 사항도 취소됩니다( CtrlC예: MC 충돌 후 누르기 시도).

또는 다음을 결정할 수 있습니다.사용할 마우스 추적 모드, 명시적으로 비활성화합니다(예를 들어 echo -e '\e[?1002;1005l'내 터미널에서 충돌이 발생한 후 Midnight Commander), 다른 설정은 그대로 유지됩니다. stty sane이러한 문제를 담당하는 라인 규율에 대한 온전한 정신을 되돌릴 것입니다.

답변2

reset엄청난 과잉입니다. 우선, 간단히 응용 프로그램을 다시 시작한 다음 적절하게 종료하면 이 문제가 해결됩니다. 결국 종료 시 필요한 마우스 보고 기능이 꺼집니다.

또는 제어 시퀀스를 터미널에 직접 보내 마우스 보고를 끌 수도 있습니다. printf쉘 유틸리티를 사용하여 이스케이프 기호를 사용하여 제어 시퀀스를 수동으로 입력하면 됩니다 .

setterm편의와 사용자 공간 가상 터미널을 위해 이를 수행할 수 있는 향상된 휴대용 버전의 유틸리티를 만들었습니다. util-linux와 달리 GUI 터미널 에뮬레이터 및 BSD와 함께 사용할 수 있으며 특정 터미널 제품군만 제어 시퀀스를 올바르게 처리한다는 사실에 민감합니다.

%printenv 용어
무음
%setterm -7 --xterm-mouse-reports 닫기 --dec-locator-reports 닫기
%setterm -7 --xterm-mouse-reports off --dec-locator-reports off 콘솔 디코딩 ECMA48 |
%setterm -7 --xterm-mouse-reports off --dec-locator-reports off |          
%수출항=xterm-256color
%내보내기XTERM_VERSION=999
%setterm -7 --xterm-mouse-reports off --dec-locator-reports off 콘솔 디코딩 ECMA48 |
감속도 0
데셀 0
드 CRM 1006
드 CRM 1003
드 CRM 1002
드 CRM 1000
%setterm -7 --xterm-mouse-reports off --dec-locator-reports off |
00000000 1b 5b 30 27 7a 1b 5b 30 27 7b 1b 5b 3f 31 30 30 |.[0'z.[0'{.[?100|]
00000010 36 6c 1b 5b 3f 31 30 30 33 6c 1b 5b 3f 31 30 30 |6l.[?1003l.[?100|]
00000020 32 6c 1b 5b 3f 31 30 30 30 6c |2l. [?1000l|
0000002a
%

제어 시퀀스가 ​​있습니다.

추가 읽기

관련 정보