SSH를 통해 기능 키(F1-F12) 보내기

SSH를 통해 기능 키(F1-F12) 보내기

SSH를 통해 액세스할 수 있는 Fedora 시스템이 있습니다. 가끔씩 사용해보고 싶은 프로그램 중 하나가 기능키를 사용하는데요. 문제는 Android 태블릿(ASUS Transformer Infinity)에서 SSH에 물리적 키보드를 사용하고 있는데 F1- 키 가 없다는 것입니다 F12. 그래서 제가 사용하고 있던 터미널 애플리케이션(VX ConnectBot)이 이를 기능으로 추가하기로 결정할 때까지 나머지 키보드를 사용하여 전송할 수 있는 방법을 찾고 있었습니다.

Esc인쇄 가능한 모든 ASCII 문자인 , Ctrl, 및 을 Shift사용할 수 있습니다 .EnterTab

답변1

터미널은 키가 아닌 문자만 인식할 수 있습니다. 따라서 모든 기능 키는 제어 문자를 사용하여 일련의 문자로 인코딩됩니다. 연관된 제어 문자( Tabis Ctrl+I, Enteris Ctrl+M, Escis ) 가 있는 일부 공통 키 외에도 Ctrl+[기능 키는 Ctrl+[ [또는 로 시작하는 이스케이프 시퀀스 도 보냅니다 Ctrl+[ O. 당신은 그것을 사용할 수 있습니다tput애플리케이션이 터미널의 각 기능 키에 대해 기대하는 이스케이프 시퀀스를 확인하는 명령입니다. 이 시퀀스는 다음 위치에 저장됩니다.terminfo데이터 베이스. 예를 들어, 다음 쉘 조각은 각 기능 키에 해당하는 이스케이프 시퀀스를 보여줍니다.

$ for x in {1..12}; do echo -n "F$x "; tput kf$x | cat -A; echo; done
F1 ^[OP
F2 ^[OQ
F3 ^[OR
F4 ^[OS
F5 ^[[15~
F6 ^[[17~
F7 ^[[18~
F8 ^[[19~
F9 ^[[20~
F10 ^[[21~
F11 ^[[23~
F12 ^[[24~

기능 키의 이스케이프 시퀀스를 확인하는 또 다른 방법은 Ctrl+ 키를 다시 바인딩하지 않는 터미널 응용 프로그램(예: 셸)에서 +를 누르는 것입니다. + 문자 그대로 다음 문자(이스케이프 문자가 됨)를 삽입하면 일반 문자가 포함된 나머지 시퀀스를 볼 수 있습니다.VCtrlVCtrlV

시퀀스를 입력하기 어려울 수 있으므로 애플리케이션에서 키 바인딩을 변경하거나 다른 터미널 에뮬레이터를 사용해 보세요. 또한 시간 제한이 있을 수 있습니다. 일부 응용 프로그램은 Esc키에만 의미를 할당 할 수 있을 만큼 빠르게 입력되는 경우에만 이스케이프 문자열을 인식합니다 .

답변2

Jack Palevich가 개발한 Android 터미널 에뮬레이터는 볼륨 키 조합을 사용하여 기능 키를 포함한 다양한 키 입력을 보냅니다. 실제 키보드에 있는 모든 키를 갖춘 해커 키보드도 있습니다.

답변3

Drake Clarris가 제안한 것처럼 Android에서는 대체 키보드를 설치할 수 있습니다.해커의 키보드F 키가 포함되어 있습니다.

Esc그러나 어떤 이유로 새 키보드를 설치할 수 없는 경우 터미널 응용 프로그램에서 및/또는 키를 누를 수 있는 한 다른 옵션이 있습니다 Alt.

Esc일반적으로 힐 을 사용 Number하거나 -를 Alt+Number시뮬레이션하는 데 사용할 수 있습니다 F1.F100F10

이러한 단축키는 휴대폰이나 물리적 F 키가 없는 기타 제한된 장치에서 터미널 에뮬레이터를 사용할 때 유용합니다. 터미널 프로그램이나 동일한 세션에서 실행되는 다른 프로그램(예: byobu/screen/tmux)이 자체 목적을 위해 F 키를 가로챌 때 물리적 키보드에도 유용합니다.

  • 예 : Midnight Commander에서 종료를 Esc누르고 싶지만 Gnome Terminal이 이를 가로채서 메뉴 키로 해석합니다. 대신 을 누른 다음 을 누릅니다 . Gnome Terminal은 입력을 개별적으로 전달하고 해석한 후 종료됩니다.F10mcF10Esc0mcF10mc

  • 예 : 필터링 Alt하고 싶지만 가로채서 " 다음 창"으로 해석합니다. 대신 을 길게 누릅니다 . Byobu는 키 조합을 전달하고 해석한 후 필터링을 활성화합니다.F4htopbyobuF4Alt4htopF4

응용 프로그램이 이 방법을 다른 키 조합으로 해석하는 경우 이 Alt방법이 작동하지 않을 수 있습니다 . 실제로는 이 문제가 발생하지 않았습니다.Alt+NumberF-Number

F11이렇게 입력하는 방법이 있는지 , 아니면 이렇게 입력하는 방법이 있는지는 모르겠습니다 F12. 왜냐하면 저는 이렇게 할 필요가 없었기 때문입니다.

관련 정보