सुरंग बनाते समय X Windows DISPLAY पर्यावरण चर को समझना


9

मैं दूरस्थ सर्वर पर ssh करना चाहता हूं, दोनों सक्षम के CentOSसाथ चल रहे हैं X11Forwarding

हालाँकि, X अनुप्रयोग ठीक से उनमें से एक पर नहीं चल सकता है - होस्ट B पर यह ठीक काम करता है। लेकिन होस्ट एआई में त्रुटि "डिस्प्ले से कनेक्ट नहीं हो पाई", हर बार जब मैं एक्स एप्लिकेशन लॉन्च करता हूं।

DISPLAYहोस्ट ए पर पर्यावरण चर की जांच करने के बाद जो मुझे लगता है कि एक्स विंडो से संबंधित है, मुझे इसका मूल्य मिला localhost:10.0यहां दिए गए सुझावों के बाद , मैं बदलता हूं DISPLAY=0:10.0और यह काम करता है। हालांकि, DISPLAYमेजबान बी पर अभी भी है localhost:10.0और ठीक काम करता है।

मेरा सवाल है, DISPLAYप्रतिनिधित्व में मूल्य क्या है ? बीच क्या अंतर है localhost:10.0और 0:10.0?

ऐसा कहा जाता है कि localhostएक मेजबान नाम की पहचान करता है। फिर कौन सा होस्ट इसकी पहचान करता है, सर्वर (होस्ट ए / बी) जिस पर मेरा एक्स एप्लिकेशन चल रहा है या मेरा स्थानीय क्लाइंट है जहां मैं एक्स विंडो प्रदर्शित करना चाहता हूं?

प्रलेखन के लिए कोई संकेत या संकेत की सराहना की जाएगी।

जवाबों:


5

जवाब का हिस्सा वास्तव में यहां पाया जा सकता है: https://stackoverflow.com/questions/746119/how-do-you-use-display-specifications

प्रदर्शन चर मूल रूप से 3 घटक है:

<host>:<display>[.<screen>]

जहां तक ​​लोकलहोस्ट उर्फ ​​127.0.0.1 बनाम 0.0.0.0 उर्फ ​​0 का संबंध है, आप इस पोस्ट पर एक नज़र डाल सकते हैं:

https://serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and-127-0-0-1

जो अंतर बताता है।

आपके विशेष मामले में 0.0.0.0:10.0 और लोकलहोस्ट: 10.0 का एक ही प्रभाव होगा लेकिन मूल रूप से इसका मतलब है:

  1. किसी भी इंटरफ़ेस पर कनेक्ट करें जिसमें डिस्प्ले 10 सेट अप है
  2. प्रदर्शन 10 के श्रोता के लिए lo0 पर कनेक्ट करें।

व्यावहारिक रूप से कोई अंतर नहीं होगा क्योंकि पहले मामले में सभी इंटरफेस का स्कैन lo0 से शुरू होगा, जो सामान्य रूप से सूची में पहला इंटरफ़ेस है।


पहले धन्यवाद। मुझे लगता है कि असली समस्या आपके सुझावों का पालन करती है। असली समस्या यह है कि localhostबाइंड किया गया है 192.168.1.200(जैसे कुछ विशिष्ट आईपी। मैं होस्ट ए पर अपने वास्तविक कॉन्फ़िगर को उजागर नहीं करना चाहता हूं) यह निर्यात करते समय भी काम करता है DISPLAY=127.0.0.1:10.0। क्या X अग्रेषण केवल लूपबैक इंटरफेस पर काम करता है?
समर_मोर_मोर_में २०'११

localhostएक विशेष नाम है जो लिनक्स पर एक लूपबैक इंटरफ़ेस (lo0) से जुड़ता है, इसे कभी भी वास्तविक आईपी पते के लिए बाध्य नहीं होना चाहिए। आप वास्तव में sudo netstat -apn | grep 6010अपने एसएसएच को चलाकर बाइंडिंग की जांच कर सकते हैं कि डिस्प्ले कनेक्शन के लिए उस पोर्ट पर सुनना चाहिए। जहाँ तक मैं बता सकता हूँ यह 127.0.0.1केवल है।
कार्लसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.