^[OP 대신 ^[[A로 xterm의 F1 키를 프로그래밍하세요.

^[OP 대신 ^[[A로 xterm의 F1 키를 프로그래밍하세요.

보안상의 이유로 오래된 텔넷 시스템을 SSH로 전환하는 작업이 나에게 주어졌습니다. 우리 직원들은 작은 휴대용 장치를 사용하여 서버에 대한 텔넷 연결을 실행하고 저주 프로그램을 실행합니다.

내가 겪고 있는 문제는 ssh + xterm과 연결할 때 다른 기능 키를 읽기 전에 사용했던 이상한 텔넷 소프트웨어가 이제 읽는다는 것입니다.

실행 중인 Curs 프로그램에서 사용자가 이를 누르면 ( 16진수로) F1전송되어야 하며 프로그램은 이를 읽고 작업을 수행합니다. 그러나 현재 수신 중입니다 (제 생각에는 ).^[[A1B 5B 5B 41^[OP1B 5B 4F 50

^[[A이 문제에 대해 인터넷 검색을 하다가 여러 가지를 찾았지만, 키심에 무엇이 있어야 할지 모르기 때문에 그 중 어느 것도 나에게 필요한 것 같지 않습니다 .

난 이미 inputrc시도했어

^[OP: ^[[A

하지만 이것은 ^[[A알 수 없는 명령이라는 오류를 반환합니다.

xmodmap이름을 찾고 있는데 그것이 무엇인지 전혀 모르기 때문에 시드는 데 도움이 되지 않는 것 같습니다. 나도 똑같이 F2해야 한다 F9.

내가 사용하고 있는 환경은 openbox를 실행하는 매우 제한된 Linux 박스입니다.

답변1

xterm키를 문자 시퀀스로 변환할 수 있습니다. 이는 리소스를 설정하여 수행됩니다. 예를 들면 다음과 같습니다.

XTerm*VT100.Translations: #override\n\
 <Key>F1: string(0x1b) string("[A")\n\
 <Key>F2: string(0x1b) string("[B")\n

일반적으로 이러한 줄을 파일에 넣으면 ~/.Xdefaults서버가 시작될 때 이를 읽습니다. 보다 동적으로 실행 중인 서버에 로드하거나 다시 로드할 수 있습니다.

xrdb -merge <~/.Xdefaults

관련 정보