나를 도와 주신 @unxnut @jensd에게 감사드립니다. 귀하의 의견을 바탕으로 문제를 파악할 수있었습니다.
이 솔루션에는 두 단계가 필요했습니다.
- DISPLAY 변수가 올바르게 설정되어 있어야합니다.
- 원격 서버에 ssh 할 때 -X 스위치가 켜져 있어야합니다.
이전의 시도에는이 두 가지 조건 중 하나 또는 둘 다가 부족합니다.
어쨌든, 이것을 여기에서 보는 나중의 사용자에게는 내가 말하려는 것을 보여주는 예가 있습니다.
case1
내 로컬 컴퓨터에는 DISPLAY 변수 세트가 없습니다. 그런 다음 -X 스위치를 사용하여 원격 서버에 ssh 한 다음 실행을 시도 xclock
합니다.
Black@Black-PC ~
$ echo $DISPLAY
## the blank means that DISPLAY variable has not been specified##
Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
Last login: Tue Jun 24 22:23:13 2014 from
[kwagjj@James5 ~]$ xclock
Error: Can't open display:
[kwagjj@James5 ~]$ setenv | grep $DISPLAY
DISPLAY: Undefined variable.
보시 Error: Can't open display:
다시피 원격 서버 터미널에 오류 가 표시됩니다.
case2
이번에는 로컬 머신에서 DISPLAY 변수를 지정하겠습니다. 그러나 ssh'ing 할 때 -X 스위치를 켜지 않습니다. 결과는 실패합니다 :
Black@Black-PC ~
$ export DISPLAY=:0.0
Black@Black-PC ~
$ echo $DISPLAY
:0.0
Black@Black-PC ~
$ ssh kwagjj@$labserver -p 122
Last login: Tue Jun 24 22:33:32 2014 from
[kwagjj@James5 ~]$ xclock
Error: Can't open display:
[kwagjj@James5 ~]$ setenv | grep DISPLAY
[kwagjj@James5 ~]$
처음에는 DISPLAY 변수를 올바르게 설정했음을 알 수 있습니다. 그러나 그럼에도 불구하고 ssh'ing (-X 스위치없이) 후에는 xclock이 실행되지 않습니다.
* 다른 결과는 setenv | grep DISPLAY
여기에서 볼 수 있습니다 (case1과 비교). case2의 경우 결과는 비어 있습니다. 반면 에이 명령 줄에 대한 case1의 결과는 DISPLAY: undefined variable
....이 차이가 어떻게 발생하는지 잘 모르겠지만 조건 1 또는 2를 만족했는지 여부와 관련된 직감을 얻습니다. .
case3
이번에는 로컬 컴퓨터에서 DISPLAY 변수를 올바르게 지정하고 -X 스위치를 켠 상태에서 원격 서버에 ssh를 지정합니다.
Black@Black-PC ~
$ echo $DISPLAY
:0.0
Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Last login: Tue Jun 24 22:37:27 2014 from
[kwagjj@James5 ~]$ xclock &
[1] 9174
[kwagjj@James5 ~]$ setenv | grep DISPLAY
DISPLAY=localhost:11.0
[kwagjj@James5 ~]$
이 설정으로 xclock
작동합니다! 내가 거짓말을하고 있지 않다는 것을 증명하는 스크린 샷이 있습니다.
xclock이 로컬 컴퓨터에 성공적으로 표시됩니다.
setenv | grep DISPLAY
이 경우 에도 결과를 확인하십시오 . 이제 표시 DISPLAY=localhost:11.0
됩니다. 내가 아는 것으로부터, 이것은 .Xauthority 파일의 MIT-MAGIC-COOKIE와 관련이 있지만 이것에 대해 많이 알지 못하므로 더 이상 가지 않을 것입니다.
결론 : 위의 세 가지 경우에서 원격 X Windows가 올바르게 표시되기 위해서는 로컬 시스템의 1. DISPLAY 변수와 2. ssh -X
스위치가 올바르게 설정되어 있는지 확인할 수 있습니다. 물론, 원격 서버는 X11 전달을 허용해야합니다.