SSH를 통해 로그인할 때 슬래시 문자를 입력할 수 없습니다.

SSH를 통해 로그인할 때 슬래시 문자를 입력할 수 없습니다.

우리 서버 중 하나에 로그인 할 때 ssh슬래시 문자를 입력할 수 없어 아무것도 할 수 없게 됩니다(예: ls /). 슬래시를 어떻게 작동하게 할 수 있나요?

추가 정보:

  • /etc/issue"CentOS 버전 5.7(최종)"을 실행 중이라고 주장합니다.
  • 내가 이것을 아는 유일한 방법은 달리는 것입니다ssh me@some-host cat /etc/issue
  • 저는 Mac OS X Terminal.app을 사용하고 있으며 Centos 5나 다른 시스템에서는 이 문제가 발생한 적이 없습니다.
  • 나는 이 기계를 누가 만들거나 설치했는지 전혀 모릅니다.
  • echo $TERM보고서xterm-256color
  • 이것이 누구에게나 이해가 될지는 모르겠지만 (나에게는 이해가 되지 않습니다), 작동하는 서버 diff로 실패한 서버를 수정 /etc/inputrc하고 다음을 얻었습니다.

    $ diff /tmp/{good,bad}_inputrc
    1c1
    < # do not bell on tab-completion
    ---
    > /# do not bell on tab-completion
    37a38,49
    > 
    > # Home Key
    > "\e[7~":beginning-of-line
    > 
    > # End Key
    > "\e[8~":end-of-line
    > 
    > # Delete Key
    > "\e[3~":delete-char
    > 
    > # Insert Key
    > "\e[2~":paste-from-clipboard
    

답변1

이 줄이 문제야

/# do not bell on tab-completion

해당 줄을 작업 구성에 추가하면 슬래시 작동이 중지됩니다.

내가 찾을 수 있는 유일한 단서는 readline 매뉴얼 페이지에 있습니다:

빈 줄은 무시됩니다. #으로 시작하는 줄은 주석입니다. $로 시작하는 줄은 조건부 구조를 나타냅니다. 다른 줄은 키 바인딩과 변수 설정을 나타냅니다.

빈 줄이 아니고 #or 로 시작 하지 않기 때문에 $키바인딩으로 처리해야 합니다.

답변2

xmodmap이라는 프로그램을 사용하여 키맵을 수정할 수 있습니다. man xmodmap설치되었는지 확인해보세요 .

즉, xevX 이벤트에 대한 자세한 정보를 보는 데 사용됩니다. 그것을 실행하고 / 키를 누르십시오. 내 설정에서 얻은 결과는 다음과 같습니다.

KeyRelease event, serial 34, synthetic NO, window 0x4e00001,
root 0x15a, subw 0x0, time 107752919, (784,828), root:(789,850),
state 0x10, keycode 61 (keysym 0x2f, slash), same_screen YES,
XLookupString gives 1 bytes: (2f) "/"
XFilterEvent returns: False

그런 다음 원격 컴퓨터에서 xmodmap -e 'keycode [KEYCODE] = [KEYSYM][KEYCODE] 및 [KEYSYM]이 xev에서 검색된 값인 매핑 생성을 사용합니다. 먼저 기본 61,0x2f를 설정하여 재설정이 필요한지 확인하십시오. (즉, xmodmap -e 'keycode 61 = 0x2f')

그래도 작동하지 않으면 다른 키를 매핑해 보세요. 예를 들어 키코드 105(오른쪽 컨트롤)를 0x2f로 변경해 보았습니다. 이것은 로컬과 SSH 세션 모두에서 작동합니다.

편집하다:

물음표를 설정할 수도 있습니다. 이전 명령을 확장하면 xmodmap -e 'keycode 61 = 0x2f 0x3f'.여기에 주요 기호 목록이 있습니다..

관련 정보