2012-05-30 2 views
4

내 Mac에서 Vagrant (가상 환경에서 VirtualBox 사용)를 사용하는 가상 Ubuntu 상자를 실행하고 있습니다. 나는 가상 박스에 로그인 할 때 내 caps lock 키를 다시 매핑하고 싶지만, 그렇지 않으면 un-mapped로 유지해야한다. 내가 xmodmap을 실행하면가상 서버의 키를 다시 매핑하십시오.

http://ubuntuforums.org/showthread.php?t=263385

, 나는이 오류가 :

xmodmap: unable to open display ''

나는이 있다는 느낌을 얻을 여기에 설명 된대로 나는 상자에 로그인하는 동안 나는 xmodmap을 사용하여 시도 내가 가상 박스에 기본적으로 리모트하고 있다는 사실과 관련이있다. 그러나 그것은 나의 이해가 간다면 그것에 관한 것이다. 그리고 나는 그것에 대해서 틀림없이 틀리다. 이 일을하기 위해 내가 할 수있는 일이 있습니까?

+0

아시다시피이 질문은 SuperUser.com에서 문의하는 것이 좋습니다. 나는 당신이 SSH를 사용하여 멀리 있다고 가정한다. 상자에 X 서버가 실행 중입니까? 그렇다면, xmodmap 호출을 xsession 시작 스크립트 중 하나에 넣으십시오. 메시지는 기본적으로 xmodmap이 어떤 디스플레이에 연결해야 하는지를 알지 못한다고 알려줍니다. X11을 사용하면 임의의 수의 그래픽 환경을 시작하고 이들 사이를 전환 할 수 있습니다. 각 환경은 "디스플레이"라고합니다. 하지만 상자에 원격으로 연결하면 실행중인 X 서버에 연결되지 않습니다. 이것은 가능하지만, 먼저 VM 그래픽 디스플레이의 xterm 내에서 시도해보십시오. – datenwolf

답변

0

우분투의 터미널에 로그인하고 DISPLAY = localhost : 0.0 으로 설정 한 다음 해당 터미널에서 xmodmap을 실행하십시오.

X 디스플레이는 두 부분으로 실행됩니다. 클라이언트 x 프로그램, xterm 또는 xmodmap 및 서버 (가상) 디스플레이와 통신하는 프로세스. xmodmap은 x 서버에게 키를 다르게 해석하도록 지시합니다.

우분투를 직접 실행하는 시스템에 앉아있는 것처럼이 작업을 수행 할 수 있습니다. xmodmap은 VM에서 발생하고 가상 시스템에서 실행중인 x 서버를 수정합니다. ... 위의 의견대로 제안합니다.

VM에 ssh를 사용하는 경우, 핵심은 DISPLAY 변수를 올바르게 설정하는 것입니다. 그것은 은 xmodmap에게 x 서버를 찾을 위치를 알려줘야합니다.

죄송합니다. 정확한 상황을 테스트 할 시간이 없습니다. 질문에 대한 설명. -Chris

+0

희망의 반짝임! 고마워 - 다른 대답은 내 부분에 대한 지식이 실제로있는 것보다 더 많은 것으로 가정했습니다. 나는 (VM상에서)'export DISPLAY = localhost.0.0','xmodmap ~/.xmodmap' 그리고 유사한 메시지를 받았다. -'xmodmap : display 'localhost : 0.0'을 열 수 없다. 아직 운이 없다. 명확성을 위해 –

+0

을 입력하십시오.이 경우 콜론이 필요합니다. – Chris

+0

DNS 미친 듯 함을 배제하기 위해 DISPLAY = 127.0.0.1 : 0.0으로 설정할 수도 있지만 실제로 도달하고 있습니다. xmodmap이 X11 프로세스에서 포트를 열 수 없기 때문에 오류가 발생한다고 가정합니다. 이것은 X가 실행되고 있다고 가정합니다. 너? 그놈 환경처럼? 다른 한편으로, 그것은 허가 물건 일 수 있습니다. 일반적으로 다른 사람의 디스플레이에서 x 프로그램 (xmodmap, xterm, xclock)을 실행하려고하면이 프로그램이 실행됩니다. (xhost +)를 수정하는 방법이 있지만, 이것이 모두 같은 (가상) 머신에 있다면, 그것은 문제가되어서는 안됩니다. – Chris

관련 문제