PuTTY는 세션 중에 임의의 문자를 삽입합니다 Windows 컴퓨터에서 비교적 쉽게 액세스 할 수있는

최근에 프로젝트 작업을 할 수 있도록 원격 서버에서 공간을 임대하기 시작했습니다. Windows 컴퓨터에서 비교적 쉽게 액세스 할 수있는 방법은 PuTTY를 통한 것입니다. 그러나 그것을 사용할 때 항상 나를 괴롭힌 한 가지가 있습니다. 왜냐하면 임의의 문자가 때로는 커서에 삽입되는 이유가 없기 때문입니다.

대부분의 경우 단일 물결표이지만 이스케이프 시퀀스 ([[^ 8 등)처럼 보이는 것은 거의 없습니다. 키보드를 타이핑하거나 20 피트 떨어져 있는지 여부에 관계없이 창에 집중할 때만 발생합니다. 오랫동안 방치하면 임의 간격으로 물결표가 뱉어집니다 (평균은 약 1 분).

마지막으로 nano 또는 mysql 인터페이스와 같은 프로그램을 실행할 때이 동작이 일치하지 않는 것 같습니다. nano에서는 물결표를 삽입하는 대신 마크 (ctrl- ^)를 설정합니다. mysql에서 줄은 편집 할 수 없게됩니다.

내 질문은 이것입니다 : 다른 사람이 PuTTY에서 이런 종류의 행동을 경험 했습니까? 그렇다면이 동작을 방지 / 수정하기 위해 무엇을 할 수 있습니까?



답변

PuTTY와 동일한 문제가 발생하여 매분마다 F13 키를 효과적으로 눌러 화면 보호기의 활성화를 중지시키는 “카페인”이라는 응용 프로그램으로 인해 발생한 것으로 나타났습니다 (그룹 정책으로 인해 화면 보호기 시간 초과가 변경되지 않음) 내 기계). 응용 프로그램을 비활성화하면 문제가 해결되었습니다.


답변

퍼티 및 카페인을 실행하려면 다음 단계를 따르십시오.

  1. 카페인 중지
  2. Caffeine readme.txt에서 기본 키 시뮬레이션을 확인하십시오. F15
  3. 퍼티를 통해 원격 터미널에 로그인
  4. 카페인 시작 (팁 : 짧은 간격 (예 : 3 초)으로 카페인 시작)
  5. 퍼티 세션에 집중하십시오.
  6. bash 명령 프롬프트에서 Ctrl+V(키에 대한 특수 코드를 얻는 데 필요합니다. 예 : try Ctrl+V다음에옵니다 F12)
  7. 카페인이 키를 시뮬레이션 할 때까지 기다리십시오.
  8. 키 코드 (예를 들어, 명령 줄에 표시 될 것 F15입니다 ^[[28~경우, ^[탈출이다). 카페인 중지
  9. 이제이 키를 공란에 묶어 카페인이 시뮬레이트 할 때 입력하지 않도록 할 수 있습니다 ~
    • 편집 ~/.inputrc(없는 경우 새 파일 만들기)
    • 라인을 추가 "\e[28~":""
  10. 카페인 시작
  11. 터미널 세션을 다시 시작하십시오
    • ~해당 Linux 서버에서 Putty 터미널을 사용할 때 더 이상 무작위가 없어야 합니다.

답변

나는 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 초마다 키 입력이 수신되지 않는지 확인하십시오.
  • 종료 readCtrl+C

Shreyansp 는 5 단계와 10 단계 사이에 수정 사항이 적용되는 솔루션을 제안했습니다 (아래 참조).
그것의 부작용 (내 구성에서)은 퍼티가 카페인에서 원격 호스트로 전달되는 각 키 입력으로 다음과 같습니다.

  • 일반적으로 원하는 ‘키 누름시 스크롤 막대 재설정'(퍼티 / 창 페이지에서 설정)을 트리거 했지만 (인간이) 키를 눌렀을 때만 카페인이 정기적으로하지 않습니다. 🙂
  • 작성한 Readline / bash가 그것 (버전 번역 '"\e[28~"''""'(빈 키?) 발생 몇 초 동안 정지하는 원격 세션의 상호 작용

위의 테스트를 쉽게 수행하려면 Caffeine을 종료하고 5 초 간격으로 Virtual-Key Code 07으로 다시 시작하십시오.
caffeine.exe 5 -key:07

  • read원격 호스트에서 프로그램을 시작 하고 5 초 또는 50 초마다 키 입력을받는 방법을 확인하십시오.
  • 종료 readCtrl+C

내가 이해 한 키 스트로크 ‘파이프 라인’:

  1. 카페인은 가상 키 코드를 Windows로 보냅니다
  2. Windows는 가상 키 코드를 Putty에 보냅니다.
  3. 퍼티는 다음의 일부 세션 설정에 따라 일부 ‘번역’/ ‘매핑’을 수행합니다.
    • 단말기/*
    • 창문/*
  4. Putty는 ‘번역 된’/ ‘매핑 된’키 코드를 원격 호스트로 보냅니다.
  5. 원격 호스트에, ‘단말기’프로그램 (예 : $TERM=xterm, vt100, vt102, vt220, 등)을 키 코드로 ‘선 프로토콜’로 변환한다.
  6. readline 라이브러리는 다음을 기반으로 일부 번역 / 매핑을 수행합니다. ~/.inputrc
  7. readline은 키 코드를 bash로 보냅니다.
  8. bash는 ~/.bashrc(내장 바인드 명령을 기반으로) 일부 번역 / 매핑을 수행합니다.
  9. bash 또는 readline (어떤 것이 확실하지 않은지)은 번역 된 키 코드를 nano (내 텍스트 편집기)로 보냅니다.
  10. 이 파이프 라인은 screen프로그램 을 추가하여 더 길어질 수 있습니다 ( $TERM=screen5 단계 에 대한 포함 및 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


참고 문헌 :


답변

이것은 실제로 이스케이프 시퀀스 또는 제어 문자처럼 보이므로 메모장과 같은 다른 프로그램에서 보이지 않는 이유를 설명 할 수 있습니다.

이 출력을 얻으려면 어떤 키를 눌러야하는지 잘 모르겠지만 조금 놀아서 찾아보십시오. 표시된 다른 시퀀스의 이름을 지정할 수 있습니까? mysql과 nano의 동작은 입력 된 것처럼 보이는 이스케이프 시퀀스의 또 다른 해석 일 수 있습니다.

마지막으로, 이러한 주요 입력의 원인은 무엇입니까? 우연히 독점 소프트웨어를 사용하여 백라이트를 자동으로 제어하는 ​​랩톱을 사용하십니까? 나는 API를 사용하는 대신 실제로 키 누르기를 에뮬레이트하는 이상한 사전 설치된 소프트웨어를 보았습니다. inputlog와 같은 것을 직접 사용하고 싶을 수도 있습니다.


답변

명령 행에서 -key : 07 옵션을 사용하여 caffiene을 시작합니다. Putty 문제를 중지하는 것으로 보입니다.

이것을 박쥐 파일에 넣으십시오.

caffeine.exe-키 : 07


답변

Cisco 포럼의 누군가는이 문제를 해결하기 위해 콘솔 속도 매개 변수를 변경할 것을 제안합니다.

http://www.dslreports.com/forum/r27090677-HELP-Cisco-1800-garbled-output-in-putty

1 에서 언급했듯이 퍼티의 모든 콘솔 속도 변형을 확실히 시도 했습니까?

참고 : 전송 속도가 기본 속도와 다르게 설정된 경우 CLI에 홀수 문자가 표시됩니다. 다른 Confreg 값에 대한 전송 속도를 설정하려면 table1 을 확인하십시오 .


답변

나는 또한 같은 문제가 있었고 caffeine.exe가 실제로 문제라는 것을 알았습니다. 처음에는 오래된 랩톱에서 2 년 이상 사용했기 때문에 caffeine.exe로 인해 발생할 수 없다고 생각했습니다. 대신 caffeine.exe -useshift를 변경하려고했지만 ^ C를 보냈습니다. 화면 보호기를 유지하지만 더 이상 퍼티 세션에서 이스케이프 시퀀스를 보내지 않는 또 다른 프로그램 인 Mouse Jiggler를 찾았습니다.