![^[OP 대신 ^[[A로 xterm의 F1 키를 프로그래밍하세요.](https://linux55.com/image/128161/%5E%5BOP%20%EB%8C%80%EC%8B%A0%20%5E%5B%5BA%EB%A1%9C%20xterm%EC%9D%98%20F1%20%ED%82%A4%EB%A5%BC%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%ED%95%98%EC%84%B8%EC%9A%94..png)
보안상의 이유로 오래된 텔넷 시스템을 SSH로 전환하는 작업이 나에게 주어졌습니다. 우리 직원들은 작은 휴대용 장치를 사용하여 서버에 대한 텔넷 연결을 실행하고 저주 프로그램을 실행합니다.
내가 겪고 있는 문제는 ssh + xterm과 연결할 때 다른 기능 키를 읽기 전에 사용했던 이상한 텔넷 소프트웨어가 이제 읽는다는 것입니다.
실행 중인 Curs 프로그램에서 사용자가 이를 누르면 ( 16진수로) F1전송되어야 하며 프로그램은 이를 읽고 작업을 수행합니다. 그러나 현재 수신 중입니다 (제 생각에는 ).^[[A
1B 5B 5B 41
^[OP
1B 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