Esc, Ctrl, Shift 및 Alt와 같은 키가 내 Windows PC의 SSH 세션에서 작동하지 않는 이유는 무엇입니까?

Esc, Ctrl, Shift 및 Alt와 같은 키가 내 Windows PC의 SSH 세션에서 작동하지 않는 이유는 무엇입니까?

저는 Windows PC에서 작업하고 있습니다. Linux(CentOS) 시스템에 터미널(PuTTY 또는 SSH 사용)을 열면 , 및 같은 Esc키 가 작동하지 않습니다.CtrlShiftAlt

Midnight Commander에 필요합니다(현재 Ctrl+InsShift+Ins작동하지 않습니다). 이 키를 작동시키는 것이 가능합니까?

답변1

PuttyUnix직렬( ) 연결을 통해 기계 에 연결된 터미널을 에뮬레이트합니다 RS232c. 바라보다여기구성 옵션의 경우. 일반적인 터미널 유형에는 vt100, vt200, xterm, 등이 있습니다 ansi.

적절한 작동을 얻으려면 Unix환경 변수가 TERM에뮬레이트되는 터미널 유형과 일치해야 합니다( Putty구성 참조 Connection/Data/Terminal-type). xterm텍스트 모드 콘솔 창에도 을 사용하고 있습니다 .

echo $TERM현재 값을 찾으려면 명령으로 사용하십시오 .

Esc터미널 제어 시퀀스의 첫 번째 문자입니다. 따라서 일반적으로 독립형 문자로 사용하면 안 됩니다. Ctrl, 자체적 Shift으로 Alt는 어떤 문자도 컴퓨터로 전송되지 않습니다 Unix. Putty구성 메뉴를 사용하여 Terminal/Keyboard특정 키가 변환되는 방식에 영향을 줄 수 있습니다.

답변2

TERMPuTTY가 변수를 다음으로 설정했지만xterm, 그 동작은 실제로 xterm의 동작과 일치하지 않습니다. 질문에는 두 가지 기능이 언급되어 있습니다.

  • Escape로서접두사특수 키로 반환된 값은 다음과 같습니다.xterm에 대한 대안으로메타키(토론 참조eightBitInput설명서에 있음).
  • 다른 키( Control, ShiftAlt)는 일반적으로 *수정자로 사용됩니다. 즉, 일반적으로 자체적으로 문자를 보내지 않지만 동시에 누르는 키의 동작을 수정합니다.

ncurses FAQShift 또는 Control 수정자를 어떻게 사용할 수 있나요?수정된 키의 배경 중 일부를 제시합니다. PuTTY는 구현하지 않습니다.어느그것의. 그것하다이동된 커서 키로 전송된 제어 시퀀스를 수정하고정상그리고애플리케이션모드(xterm FAQ 참조(어떤 것이든) 쉘에서 커서 키를 사용할 수 없는 이유는 무엇입니까?해당 용어에 대한 논의를 위해).

ncurses에는 기본 구성에 대한 정확한 터미널 설명이 있습니다.퍼티(키보드 대화 상자 설정에 따라 여러 설명을 만들 수 있지만 실제로는 거의 언급되지 않으며 거의 ​​사용되지 않습니다.) 완전한 터미널 데이터베이스를 갖춘 시스템은 다음과 같습니다.putty터미널 설명.

TERM다음으로 설정된 다른 터미널 에뮬레이터와 마찬가지로xterm, 완전한 터미널 설명은 와 많은 차이점이 있습니다 xterm. ncurses FAQ왜 "xterm"으로 설정된 TERM을 사용하지 않습니까?해당 측면에 대한 개요를 제공합니다.

에 대한 언급SSHminttyCygwin과 함께 사용할 수 있음을 암시합니다 . 그 사람의 후손이다.PuTTY, 거의 동일한 제한 사항이 있습니다.

답변3

정답은당신은 할 수 없습니다, 이는 PuTTY의 버그이기 때문입니다.

있다고양이 새끼Ctrl이는 PuTTY의 포크이고 적절한 / 지원을 구현한 것이므로 Shift살펴보는 것이 좋습니다.

원천:https://superuser.com/a/1226621/360137

그리고 참고 사항 - 기본적으로 KiTTY에는 투명도 제어 단축키가 있으므로 세션의 기본값으로 설정 Ctrl+Up/Down하여 투명도를 완전히 비활성화할 수 있습니다 .Window->Transparency-1

답변4

나는 putty4far2l 퍼티 포크의 저자로서 여러분에게 다음을 시도해 볼 것을 제안합니다. «멀리2l+퍼티4far2l» «mc + putty» 사용자 경험과 유사하지만 전체 키보드를 지원합니다. 이는 소위 "far2l 터미널 확장"을 통해 사용할 수 있습니다. putty4far2l 내부의 Far2l에서 mc를 실행하면 mc에서도 전체 키보드 지원이 가능해집니다.

추신 : Far2l의 ppa는여기, putty4far2l의 바이너리는 github에서 직접 사용할 수 있습니다.

관련 정보