मेरी मदद करने के लिए @jensd, @unxnut को धन्यवाद। आपकी टिप्पणियों के आधार पर मैं इस समस्या का पता लगाने में सक्षम था।
समाधान के लिए दो चरणों की आवश्यकता थी:
- प्रदर्शन चर ठीक से सेट किया जाना चाहिए।
- जब दूरस्थ सर्वर के लिए ssh'ing, -X स्विच चालू होना चाहिए
मेरे पिछले प्रयासों में इन दोनों स्थितियों में से एक या दोनों का अभाव है।
किसी भी तरह, बाद के उपयोगकर्ताओं के लिए जो इसे यहाँ देखते हैं, उदाहरण के लिए आपको दिखाते हैं कि मैं क्या कहना चाह रहा हूँ।
मामला एक
मेरी स्थानीय मशीन में कोई भिन्न चर सेट नहीं होगा। और फिर मैं -X स्विच के साथ रिमोट सर्वर पर भेजूंगा और फिर निष्पादित करने का प्रयास करूंगा 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
इस बार, स्थानीय मशीन पर, मैं प्रदर्शन चर को निर्दिष्ट करूंगा। लेकिन जब मैं 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 ~]$
शुरुआत में आप देख सकते हैं कि मैंने ठीक से प्रदर्शन चर निर्धारित किया है। लेकिन फिर भी, ssh'ing (-X स्विच के बिना) के बाद xclock निष्पादित नहीं किया जाता है।
* एक अलग परिणाम setenv | grep DISPLAY
यहां देखा जा सकता है (केस 1 के साथ तुलना)। case2 में, परिणाम केवल रिक्त है। दूसरी ओर, इस कमांड लाइन के लिए केस 1 का परिणाम है 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
। मुझे जो पता है, यह MIT-MAGIC-COOKIE के साथ .Xauthority फ़ाइल से संबंधित है, लेकिन चूंकि मुझे इस बारे में ज्यादा जानकारी नहीं है कि मैं आगे नहीं जाऊंगा।
निष्कर्ष: ऊपर के तीन मामलों से, हम पुष्टि कर सकते हैं कि दूरस्थ X विंडोज को ठीक से प्रदर्शित करने के लिए, स्थानीय मशीन के 1. प्रदर्शन चर और 2. ssh -X
स्विच को ठीक से सेट किया जाना चाहिए। बेशक, दूरस्थ सर्वर को X11forwarding की अनुमति देनी चाहिए।