쉘에서 새 탭을 열면 xmodmap 키 바인딩이 재설정됩니다.

쉘에서 새 탭을 열면 xmodmap 키 바인딩이 재설정됩니다.

Shift-s를 사용하여 레인저에서 셸을 열고 vim을 연 다음 :sh를 사용하여 셸을 열거나 ctrl-shift-t를 사용하여 새 셸 탭을 열면 xmodmap 키 바인딩(교체된 대문자 잠금 및 Esc 키)이 재설정됩니다. . 터미널 출력에 다음과 같이 나와 있습니다.

xmodmap:  please release the following keys within 2 seconds:
    t (keysym 0x74, keycode 28)
    Shift_R (keysym 0xffe2, keycode 62)

저는 활성 vim 사용자이고 현재 Typescript를 사용하고 있기 때문에 키 바인딩이 저에게 매우 중요합니다(코드를 컴파일하려면 셸에 빠르게 액세스해야 합니다). (xmodmap 명령이 포함된 .Xmodmap 파일)을 사용하여 키 바인딩을 설정 xmodmap ~/.Xmodmap하고 해당 명령을 .bashrc에 추가했습니다.

추가 배경 정보 저는 Ubuntu 16.4를 사용하고 있으며 최근에 .ts 파일 확장자에 대한 지원을 추가하기 위해 레인저 구성 파일(~/.config/ranger/rifle.conf)을 만들었습니다. 나는 전문 레인저나 bash 사용자는 아니지만 둘 다 내 작업 흐름에 매우 중요합니다. 도움을 주셔서 감사합니다.

편집: 이 문제는 .bashrc 에서 제거했을 때 해결되었지만 xmodmap ~/.Xmodmap이제 시작 시 xmodmap 키 바인딩을 활성화할 수 없습니다. 내 crontab 파일에 추가하면 @reboot xmodmap ~/.Xmodmap작동하지 않습니다. 이에 대해 별도의 질문을 게시해야 할 수도 있지만 나중에 참조할 수 있도록 이 질문을 여기에 남겨 두겠습니다.

답변1

xmodmap.bashrc에서 실행 하지 마세요 .

그것은 ~/.xinitrc당신의 창 관리자가 그것을 실행할 것입니다.한 번시작시. 두 번째 또는 세 번째 셸 탭을 열면 동일한 키 바인딩을 계속 사용할 수 있습니다.

.bashrc 명령은 누락된 SSH 로그인 세션을 포함하여 여러 컨텍스트에서 실행되므로 $DISPLAYinit 스크립트는 일반적으로 X11 명령에 대한 올바른 위치가 아닙니다.

관련 정보