xmodmap : 디스플레이를 열 수 없습니다 ''


9

내 .bashrc에 다음 줄이 있습니다.

xmodmap -e "keycode 116 = slash"

그 기계에 SSH를 타면

xmodmap:  unable to open display ''

말할 것도없이, 나는 그곳에서 그것을 원합니다. 누구 든지이 오류를 해결하는 방법을 알려주십시오.

OpenSSH_4.7p1 데비안 -8 우분투 1.2, OpenSSL 0.9.8g 2007 년 10 월 19 일

도와 주셔서 감사합니다.


1
주어진 대답을 모두 사용하면 증상을 치료할 수 있지만 주요 문제는 xmodmap-call이 .bashrc에 속하지 않는다는 것입니다. 쉘을 열 때마다가 아니라 현재 X11 세션에 대해 한 번 설정해야하는 것입니다. 따라서 창 관리자를 호출하기 전에 xmodmap-call이 .xinitrc 또는 .xsession에 속합니다.
akira

좋은 지적입니다. 나는 대답 할 때 이것에 대해 생각조차하지 않았다. Dervin : 이런 식으로 해보셨습니까? help.ubuntu.com/community/MultimediaKeys
innaM

답변:


9

사용 가능한 디스플레이가있는 경우 .bashrc에만 실행하도록 변경할 수 xmodmap있습니다.

if [ -n "${DISPLAY+x}" ]; then
    xmodmap -e "keycode 116 = slash"
fi

xmodpmap이 아니라 xmodmap이지만 훌륭하게 작동했습니다. 받아 들였다.
Dervin Thunk

나는 정정되었다.
innaM

관련이 없지만 [ -n "${DISPLAY+x}" ]더 간단한 [ "$DISPLAY" ]또는 로 대체 할 수 있습니다 [[ $DISPLAY ]].
user1686

이상하게 도이 if 문이있을 때 여전히 오류 메시지가 나타납니다.
byxor

1

이 오류는 아마도 X11 전달을 활성화하지 않았기 때문일 수 있습니다. -X 옵션으로 ssh를 실행하십시오 (예 :

ssh -X -l user server.tld

또는 퍼티에서 SSH-> X11-> X11 전달 활성화 옵션을 클릭하십시오.

물론 SSH를 시작하기 전에 먼저 Xserver를 실행해야합니다. Linux에는 기본적으로이 옵션이 있으며 Windows를 실행중인 경우 Xming을 사용할 수 있습니다.

SSH를 연결할 때마다 X11 세션을 사용하지 않으면 Manni의 솔루션 만 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.