우리 서버 중 하나에 접속할 때 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
이미 설치되어 있는지 확인하세요 .
간단히 말해서 xev
X 이벤트에 대한 세부 정보를 보려면 사용합니다. 그것을 발사하고 / 키를 누르십시오. 내 설정에서 얻은 결과는 다음과 같습니다.
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
'. 완성된 모습을 보실 수 있습니다여기에 키심 목록이 있습니다.