일부 응용 프로그램은 SSH를 통한 bash에서 마우스 클릭을 어떻게 허용합니까?

일부 응용 프로그램은 SSH를 통한 bash에서 마우스 클릭을 어떻게 허용합니까?

lynx브라우저 및 기타 여러 응용 프로그램과 같은 응용 프로그램은 htop셸에서 위치에 따른 마우스 클릭을 허용합니다. 나는 이것이 명령줄 인터페이스라는 것을 알고 있습니다. 그렇다면 마우스 클릭을 어떻게 받아들일까요?bashsshssh

답변1

IMHO 이와 같은 것을 작성하는 가장 쉬운 방법TUI응용 프로그램이 사용 중입니다저주.

"New Curses"는 기본 장치의 세부 정보에서 TUI 디자인을 추상화하는 라이브러리입니다. 참조하는 모든 소프트웨어는 ncurses를 사용하여 인터페이스를 렌더링합니다.

터미널 에뮬레이터(예: xterm, gnome-term 등)를 클릭하면 터미널 에뮬레이터는 클릭을 다음 순서로 변환합니다.ANSI 이스케이프 코드. 이러한 시퀀스는 ncurses 라이브러리에 의해 이벤트에서 읽고 번역됩니다.

Stack Overflow에서 예제를 찾을 수 있습니다.NCurses의 마우스 이동 이벤트

답변2

매우 간단합니다. 이전 직렬 터미널 세션에서 마우스는 실제로 대화형 쉘 세션에 입력을 보내는 옵션이 아니었습니다. (초기 예외도 있었을 거라 확신합니다.)

그러나 터미널 에뮬레이터를 실행하면내부에 하나그래픽 데스크탑회의터미널 에뮬레이터가 마우스를 인식합니다.

높은 수준에서 발생하는 작업은 마우스 이벤트가 터미널 에뮬레이터( xterm예:)에 의해 터미널 시퀀스로 변환되고 이러한 이벤트가 실행 중인 애플리케이션의 대화형 셸 세션으로 전송되는 것 htop입니다 vim. 이 경우 vim마우스 이벤트가 아닌 터미널 시퀀스(예: 간단한 키보드 이벤트 시리즈)만 표시됩니다.

관련 정보