나는 shreyansp 의 솔루션이 가장 만족 스럽지만 가장 만족스럽지 않다는 것을 알았습니다. :)
그것을 개선하려는 시도는 물론입니다 (물론 YMMV). 이것이 해결책을 찾는 사람들에게 유용 할 수 있기를 바랍니다 :)
내 솔루션은 다음과 같이 작동합니다.
- 카페인은 다음과 같은 적절한 가상 키 코드를 Windows로 보냅니다.
- Windows가 절전 모드 또는 유휴 상태가되지 않도록 방지
- Windows에서 단독으로 또는 조합하여 부작용을 발생시키지 않습니다 (Ctrl, Shift, Alt, Alt-Gr, Win, F1-F5, F10 등).
- 퍼티에게 보내지 않거나 퍼티에 의해 무시됩니다
TL; DR : 내 솔루션은 -key:0E
카페인 매개 변수를 사용하여 2 단계와 3 단계 (아래 참조) 사이에 적용됩니다. 카페인을
종료하고 다음과 같이 다시 시작하십시오.
caffeine.exe 5 -key:0E
(쉬운 테스트를
caffeine.exe 50 -key:0E
위해)
read
원격 호스트에서 프로그램을 시작 하고 5 초 또는 50 초마다 키 입력이 수신되지 않는지 확인하십시오.
- 종료
read
와Ctrl+C
Shreyansp 는 5 단계와 10 단계 사이에 수정 사항이 적용되는 솔루션을 제안했습니다 (아래 참조).
그것의 부작용 (내 구성에서)은 퍼티가 카페인에서 원격 호스트로 전달되는 각 키 입력으로 다음과 같습니다.
일반적으로 원하는 '키 누름시 스크롤 막대 재설정'(퍼티 / 창 페이지에서 설정)을 트리거 했지만 (인간이) 키를 눌렀을 때만 카페인이 정기적으로하지 않습니다. :)
- 작성한 Readline / bash가 그것 (버전 번역
'"\e[28~"'
에 '""'
(빈 키?) 발생 몇 초 동안 정지하는 원격 세션의 상호 작용
위의 테스트를 쉽게 수행하려면 Caffeine을 종료하고 5 초 간격으로 Virtual-Key Code 07으로 다시 시작하십시오.
caffeine.exe 5 -key:07
read
원격 호스트에서 프로그램을 시작 하고 5 초 또는 50 초마다 키 입력을받는 방법을 확인하십시오.
- 종료
read
와Ctrl+C
내가 이해 한 키 스트로크 '파이프 라인':
- 카페인은 가상 키 코드를 Windows로 보냅니다
- Windows는 가상 키 코드를 Putty에 보냅니다.
- 퍼티는 다음의 일부 세션 설정에 따라 일부 '번역'/ '매핑'을 수행합니다.
- Putty는 '번역 된'/ '매핑 된'키 코드를 원격 호스트로 보냅니다.
- 원격 호스트에, '단말기'프로그램 (예 :
$TERM=xterm
, vt100
, vt102
, vt220
, 등)을 키 코드로 '선 프로토콜'로 변환한다.
- readline 라이브러리는 다음을 기반으로 일부 번역 / 매핑을 수행합니다.
~/.inputrc
- readline은 키 코드를 bash로 보냅니다.
- bash는
~/.bashrc
(내장 바인드 명령을 기반으로) 일부 번역 / 매핑을 수행합니다.
- bash 또는 readline (어떤 것이 확실하지 않은지)은 번역 된 키 코드를 nano (내 텍스트 편집기)로 보냅니다.
- 이 파이프 라인은
screen
프로그램 을 추가하여 더 길어질 수 있습니다 ( $TERM=screen
5 단계 에 대한 포함 및 6 단계에서 10으로 다시 루프).
참고 : 4 단계에 도달하면 '번역'/ '매핑'의 여러 계층을 정확하게 제어하기가 매우 어려워집니다. 가능하다면 피하는 것이 좋습니다.
배경 : pfsense 2.3.3-RELEASE-p1 (FreeBSD 10.3-RELEASE 기반)을 다루기 전에 몇 년 동안
사용 caffeine.exe -key:07
했습니다.
그런 다음, caffeine.exe -key:07
같은 다른면에 수신 ^[[28~
에 매핑 될 것으로 보인다 ... Ctrl+^
나노에서 (설정 마크).
이것은 매우 성가신 일이었습니다 (메모장에서 텍스트 캐럿을 움직일 때 Shift 키를 누르고 유지하는 사람을 상상해보십시오).
이전에, 내가 퍼티 설정에서 다수의 사용자 정의를했다, ~/.tcshrc
, ~/.inputrc
, ~/.bashrc
, ~/.nanorc
, ~/.screenrc
나는 기본 기능을 고려할 것을 얻을 ( Backspace
, Delete
, Home
, End
, PgUp
, PgDown
, Ctrl+Left
, Ctrl+Right
, 숫자 키패드 0-9
, 숫자 패드 ./*-+
) bash는 / 나노 / 화면 사이에 지속적으로 노력.
이 caffeine.exe -key:07
'버그'를 발견 한 후에 는 다시 한 번 되돌아보고 싶지 않았습니다. :)
테스트 :
Windows 8.1 64-bit Enterprise ( 6.3.9600 ) / Putty 0.66 / pfsense 2.3.3-RELEASE-p1 ( FreeBSD 10.3-RELEASE 기반 ) / bash 4.4.12-release / nano 2.7.3 / screen 4.04. 00
참고 문헌 :