पुट्टी-> सिग्विन एक्स 11 फॉरवर्डिंग "डिस्प्ले को ओपन नहीं कर सकता" एरर


11

मैं किसी अन्य सर्वर में ssh करने के लिए Windows मशीन पर पुट्टी का उपयोग कर रहा हूं। एक बार, मैं अपने कंप्यूटर पर पॉप विंडो में X11 अग्रेषण का उपयोग करने का प्रयास कर रहा हूं। रिमोट सिस्टम कोई समस्या नहीं है क्योंकि यह एक बड़ी प्रणाली है जो कई अन्य उपयोगकर्ताओं द्वारा इसी तरीके से सफलतापूर्वक उपयोग की जाती है।

मैं बिना किसी समस्या के पुट्टी के माध्यम से सिस्टम में लॉग इन करता हूं और फिर startxwinसाइबरविन में चलता हूं । हालांकि, xtermपुट्टी में चलने पर , मुझे त्रुटि दी गई है xterm Xt error: Can't open display: localhost:##.0जहां पाउंड के संकेत दो पूर्णांक हैं, जिनका मूल्य हर बार जब मैं लॉग इन करता हूं तो परिवर्तन होता है।

  • मेरे पास पुट्टी सेटिंग्स में एक्स 11 अग्रेषण सक्षम है
  • मैंने "X डिस्प्ले लोकेशन" सेट करने की कोशिश की localhost:0
  • मैंने साइबरविन के लिए X11 पैकेज डाउनलोड करना सुनिश्चित किया है
  • मैंने startxइसके बजाय सिर्फ उपयोग करने की कोशिश की हैstartxwin
  • मैंने कोशिश की है setenv DISPLAY localhost:0औरsetenv DISPLAY my.ip.address

दुर्भाग्य से, मुद्दा जारी है। मैंने इस विषय पर अपने Googling संसाधनों को समाप्त कर दिया है और इसलिए मैं किसी भी मदद की बहुत सराहना करता हूं। धन्यवाद!


localhost:##.0आप यहां क्या वास्तविक संख्या देख रहे हैं? विंडोज कंप्यूटर पर आप किस तरह के एक्स सॉफ्टवेयर चला रहे हैं?
केनस्टर

जवाबों:


11

हाल ही में Cygwin अपडेट ने अपने X सर्वर को डिफ़ॉल्ट रूप से TCP कनेक्शन नहीं सुनने के लिए बदल दिया है। इसके बजाय, Cygwin का X उपयोग करता है (Cygwin कार्यान्वयन का) Unix डोमेन सॉकेट्स, और PuTTY (एक देशी विंडोज प्रोग्राम के रूप में) इनका उपयोग करना नहीं जानता है।

Cygwin एक्स पूछे जाने वाले प्रश्न और Cygwin मेलिंग सूचियों में अधिक जानकारी के लिए है।

मेरा समाधान मानक साइगविन शॉर्टकट लेना था जो एक्स लॉन्च करने के लिए स्टार्टक्सविन का उपयोग करता है :

C:\cygwin\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin"

और इसे मेरे इच्छित विकल्पों के साथ xinit के प्रत्यक्ष आह्वान के साथ बदलें (जोड़ें -listen tcpऔर निकालें -auth):

C:\cygwin\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/xinit /etc/X11/xinit/startxwinrc -- /usr/bin/XWin :0 -multiwindow -listen tcp"

यह साइगविन की नई चूक से कम सुरक्षित है; इसका उपयोग केवल एकल-उपयोगकर्ता प्रणाली पर किया जाना चाहिए, और XWin से कनेक्शन ब्लॉक करने के लिए अपने फ़ायरवॉल को कॉन्फ़िगर करना बुद्धिमान हो सकता है।


इसे कहाँ चलाना है ??
साइबरविन

1
@yellowandred यह `C:` से शुरू होता है, इसलिए यह एक विंडोज-स्टाइल पथ है, सिग्विन टर्मिनल नहीं। मैंने इसे सिर्फ अपने विंडोज शॉर्टकट के टारगेट सेक्शन में रखा है। CMD को काम करना चाहिए। PowerShell को काम करना चाहिए, लेकिन आपको उद्धरण को अद्यतन करना पड़ सकता है।
जोश केली

6

जोश केली ने जो कहा, उसके विकल्प के रूप में, आप startxwin फ़ाइल को भी संपादित कर सकते हैं और डिफ़ॉल्ट सर्वर तर्कों के लिए "-listen tcp" जोड़ सकते हैं।

पुराना: डिफॉल्टर्सवर्गर = "- मल्टीविंडो"

नया: डिफॉल्टर्सवर्ग्स = "- मल्टीविंडो-लिस्टेन टीसीपी"

साथ ही प्रमाणीकरण सक्षम होने पर, मुझे startxwin स्क्रिप्ट द्वारा बनाई गई प्रमाणीकरण फ़ाइल में पोटीन को इंगित करना था। मेरा यहाँ स्थित था: c: \ cygwin64 \ home \ USERNAME.Xauthority

चूँकि इस फ़ाइल को फिर से बनाया गया है, इसलिए आपको अपने xserver को रीसेट करने के बाद पोटीन सेशन को फिर से शुरू करना होगा।

सुरक्षा के लिए, आप केवल लोकलहोस्ट से कनेक्शन की अनुमति दे सकते हैं, क्योंकि यह वह जगह है जहाँ से पोटीन आगे जाती है।


4

मैंने "X डिस्प्ले लोकेशन" को लोकलहोस्ट: 0 पर सेट करने की कोशिश की

कृपया "X प्रदर्शन स्थान" को ': 0.0' के बजाय सेट करने का प्रयास करें!

export DISPLAY=:0.0

जोश केली ने Cygwin X का उल्लेख किया है :

3.13। मैंने अपग्रेड किया और अब एक्स क्लाइंट कनेक्ट नहीं कर सकते

A1:

चूंकि X सर्वर 1.17, डिफ़ॉल्ट रूप से सर्वर TCP / IP कनेक्शन के लिए नहीं सुनता है, केवल एक यूनिक्स डोमेन सॉकेट पर स्थानीय कनेक्शन को स्वीकार करता है।

स्थानीय ग्राहकों के लिए, DISPLAY =: 0.0 का उपयोग करें, DISPLAY = लोकलहोस्ट के बजाय: 0.0, DISPLAY = 127.0.0.1: 0.0, DISPLAY = :: 1: 0.0, आदि।



0

जैसा कि दूसरों ने कहा है, चाल -listen tcpसर्वर तर्कों को जोड़ने के लिए है। हालाँकि, मैं बाकी कमांड बनाने के startxwin -- -listen tcpलिए कॉल करके ऐसा करने की सलाह देता हूं ।startxwinxinit

प्रारंभ मेनू शॉर्टकट में:

C:\cygwin\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin -- -listen tcp"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.