xterm
ssh 를 사용 하여 원격 서버 (Ubuntu Server 10.04) 에서 열려고 합니다.
ssh -X name@machine xterm
그러나 반환 된 오류는 다음과 같습니다
xterm Xt error: Can't open display: :0.0`
나는 내가 찾은 모든 것을 googled하고 시도했다. 여전히이 오류가 발생합니다. DISPLAY 변수는 자동으로 설정되어야합니까?
의 일부 sshd_config
:
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
어떤 충고?
답변
ssh가 연결을 설정할 수 있으면 DISPLAY
적절한 값으로 설정 됩니다. 당신이 한 이후 X11DisplayOffset
10 (기본값)로 설정하면의 설정 10¹보다, 무언가에 의해 적어도 ssh를하여 일반 X11 포워딩와 방해 절감하는 값이 표시되면, SSH는 10에서 시작하는 첫 번째 사용 가능한 디스플레이를 사용합니다 재정의 DISPLAY
. 값 :0
(또는 :0.0
점 뒤의 부분은 관련이 없음)은 시스템에서 시작된 첫 번째 디스플레이를 나타내며, 일반적으로 시스템 콘솔의 활성 세션 (또는 그래픽 로그인 프롬프트)입니다.
관찰 한 동작에 대한 가장 가능성있는 설명은 쉘 구성 파일 중 하나가 설정되었다는 것입니다 DISPLAY
. 가장 확실한 원인은 ~/.bashrc
(bash의 단점으로 인해 bash의 부모가 rshd
또는 sshd
대화 형이 아니더라도 bash의 부모가 실행될 때마다 실행 됩니다). 환경 변수를 정의하는 다른 파일은 /etc/environment
입니다. 이 경우 해결책은 분명합니다. 설정하지 마십시오 DISPLAY
. ( DISPLAY
수동으로 설정해야하는 경우는 거의 없습니다.)
다른 이국적인 설명이 있습니다. 이것은 로그인 쉘을 screen
(이론적으로는 귀여운 아이디어이지만 실용적이지는 않지만) 변경하고 DISPLAY
화면 내부에 강제로 설정하는 쉘 초기화 파일을 가지고있는 경우에 발생할 수 있습니다 ( 좋은 아이디어는 아닙니다). 클라이언트가 보낸 환경 변수 ( AcceptEnv
in 지시문 sshd_config
) 를 허용하도록 서버를 구성하고 클라이언트가 보내는 중이고 DISPLAY
X 연결을 설정할 수없는 경우에도 발생할 수 있습니다. 또는의 command
지시문을 통해 서버에서 환경 변수를 설정하면 발생할 수 있습니다 ~/.ssh/authorized_keys
. 아니면 xterm
스크립트 일 수도 있습니다.
¹ 또는 서버 구성에 값이 있더라도 기본값에서 거의 변경되지 않았습니다.X11DisplayOffset
답변
당신의 명령은 효과가있을 것입니다. 대신 이것을 시도하십시오 :
ssh -Y user@machine xterm
편집 (1) :
이 시도:
ssh -X user@machine env
그것은 모든 환경을 보여 주어야합니다. 거기에는 다양한 SSH 항목과 DISPLAY가 있어야합니다. DISPLAY는 10.0이어야합니다.
당신은 또한 이것을 시도 할 수 있습니다 :
ssh -X user@machine DISPLAY=10.0 xterm
답변
X의 액세스 제어가 방해 될 수 있습니다.
액세스 제어를 완전히 비활성화하려면 xhost +
패키지에서 실행하십시오 x11-xserver-utils
.
답변
답변
xauth가 설치되지 않은 것을 발견했습니다.
답변
또한 클라이언트쪽에 X11이 설치되어 있는지 확인하십시오. Mac을 OS X Mountain Lion으로 업그레이드 할 때이 문제가 발생했습니다. Mountain Lion은 X11을 제거하므로 오픈 소스 X Quartz 프로젝트를 통해 X11을 다시 설치해야합니다.
http://xquartz.macosforge.org/landing/
답변
먼저 연결을 열고 일단 개방 xterm을 설정해야합니다.