2017-05-04 17 views
0

Windows 7에서 Cygwin을 사용하여 SSH를 통해 유닉스 (RHEL 6) 서버에 연결하고 있습니다. 내가 이렇게하면, X 포워딩이 올바르게 설정되지 않는 : Cygwin ssh가 DISPLAY를 올바르게 설정하지 않았습니다. (추가 : 0)

내가 지금 어떤 윈도우 프로세스를 시작하려고하면

> echo $DISPLAY 
:0 
> ssh -Y [email protected] 
[enter password] 
> echo $DISPLAY 
localhost:52.0:0 

, 나는 오류 메시지 (Windows 시스템에 Cygwin에서의 xterm에서 시작)

> emacs 
emacs: Cannot connect to X server localhost:52.0:0. 
Check the DISPLAY environment variable or use '-d'. 
Also use the 'xhost' program to verify that it is set to permit connections from your machine. 

상세

'로컬 호스트를'다음 수 (위의 예에서는 52)는 추가의 다른 내가 연결할 때마다. 다음이 이 문제를 해결 않으며, 윈도우 전달이 잘 작동

: 다음과 같은 처리를 할 경우

,

> export DISPLAY=localhost:52.0 

(0 즉, 나는 후행 "를 제거). 그래서 문제는 : 각 연결을 사용하여 DISPLAY 변수를 수동으로 변경할 필요가 없도록 수정하는 방법입니다.

+0

로그인하는 서버에서 실행되는 로그인 스크립트 (.profile, .bashrc 등)를보고 DISPLAY 변수에 대한 내용을 확인하십시오. 다른 서버에 로그인 할 수 있습니까? – ewindes

답변

0

내 경보에 대한 거짓 경보. 내 .profile (다른 사람으로부터 빌린 것)을 켭니다. , 포함 된대로 의 elif 가지 문제가 해결 주석,

export DISPLAY 
if [[ -z $DISPLAY ]]; then 
    DISPLAY=my.machine.addr:0 
elif echo $DISPLAY | grep -z -v ':0'; then 
    DISPLAY=$DISPLAY:0 
fi 

보라 보라 : 우리의 개발 환경에 유용한 사용자 정의의 많은 양)이 라인이 포함되어 있습니다. 이 내용이 무엇인지 모른 채 다른 사람의 구성을 복사하는 위험에 대해 우리 모두에게 교훈이되기를 바랍니다.