सवाल एक्स 11 फॉरवर्डिंग सक्षम के साथ ssh'ing के बाद एक्स प्रोग्राम खोलते समय मैं "डिस्प्ले नहीं खोल सकता" त्रुटि कैसे ठीक करूं?


X11 ऐप (XQuartz 2.3.6, xorg-server 1.4.2-apple56) लॉन्च करने के बाद मेरे मैक (ओएस एक्स 10.6.8) पर, X11 में टर्मिनल खोलना और चलाना xhost +, मैं फिर ssh -Y मेरे उबंटू 10.04 वीएम (वीएमवेयर फ्यूजन पर चल रहा है)। जब मैं दौड़ता हूँ gedit .bashrc (उदाहरण के लिए), मुझे मिलता है:

(gedit:9510): Gtk-WARNING **: cannot open display: 

set | grep DISPLAY कुछ भी नहीं देता है।

लेकिन अगर मैं ssh -Y मेरी उबंटू 11.04 मशीन में, gedit .bashrc काम करता है। echo $DISPLAY रिटर्न "लोकलहोस्ट: 10.0"।

मैंने कोशिश की export DISPLAY=localhost:10.0 जबकि मेरे वीएम में sshed और फिर चल रहा है gedit .bashrc, लेकिन मुझे मिलता है:

(gedit:9625): Gtk-WARNING **: cannot open display: localhost:10.0

उबंटू मशीनों के दो अंतरों की कॉन्फ़िगरेशन में क्या भिन्न हो सकता है जो बताएगा कि कोई काम क्यों करता है और दूसरा नहीं करता है?

अद्यतन करें: जैसा कि सुझाव दिया गया है Zoredache नीचे टिप्पणी में, मैं भाग गया sudo apt-get install xbase-clients, लेकिन मुझे एक ही समस्या है।


87
2017-07-13 18:13


मूल


क्या Ubuntu 10.04 बॉक्स में X11 के लिए उचित उपकरण स्थापित हैं? Xbase-clients स्थापित करें, अगर यह पहले से स्थापित नहीं है। - Zoredache
मैंने इसे स्थापित किया लेकिन अभी भी एक ही समस्या है। (ऊपर देखो।) - Daryl Spitzer
हाँ। बस सुनिश्चित करने के लिए, मैंने वीएम को फिर से शुरू किया (और बाद में एसएसएच के माध्यम से फिर से कनेक्ट)। - Daryl Spitzer
हो सकता है कि जब आप कनेक्ट हों तो sv को -vv विकल्प को पास करने का प्रयास करें, यह प्रिंट्स वर्बोज़ डीबग संदेश, आपको कनेक्ट करते समय एक्स 11 अग्रेषण के बारे में कई टिप्पणियां देखना चाहिए। - Zoredache
मेरे मामले में यह मैकोज़ के XQuartz संस्करण को अपग्रेड करने का मामला था - Waruna Ranasinghe


जवाब:


सर्वर के sshd_config (आमतौर पर /etc/ssh/sshd_config), और सुनिश्चित करें कि X11Forwarding विकल्प लाइन के साथ सक्षम है

X11Forwarding yes

यदि X11Forwarding निर्दिष्ट नहीं है, तो डिफ़ॉल्ट जांच करने के लिए उपलब्ध डेबियन मशीनों पर डिफ़ॉल्ट नहीं है।


33
2017-07-13 18:54



मैंने एक और उबंटू वीएम स्थापित करने के बाद खोज की, मुझे एक्सबेस-क्लाइंट दोनों स्थापित करने और X11Forwarding को सक्षम करने की आवश्यकता है। दोनों को शामिल करने के लिए अपना उत्तर अपडेट करें और मैं इसे स्वीकार करूंगा। - Daryl Spitzer
दिलचस्प। कम से कम 10.04 के नए इंस्टॉलेशन पर मैंने आज सुबह एक्स 11 फॉरवर्डिंग को डिफ़ॉल्ट रूप से सक्षम किया था। उबंटू लड़कों को फिर से डिफ़ॉल्ट के साथ गड़बड़ होना चाहिए। - Zoredache
@DerfK, मेरे सिस्टम में "एक्स 11 फॉरवर्डिंग हां" पहले से ही अभी भी मुझे त्रुटि मिल रही है, (जीएडिट: 8381): जीटीके-चेतावनी **: प्रदर्शन नहीं खोल सकता: ऐसे मामलो मे - A J
डेबियन पर आपको पैकेज xauth इंस्टॉल करना पड़ सकता है, फिर लॉग ऑन करें। - comte


से xhost +: रिमोट सर्वर पर जीयूआई लॉन्च करते समय "डिस्प्ले ओपन डिस्प्ले नहीं" त्रुटि कैसे ठीक करें:

उत्तर: आप इस आलेख में वर्णित xhost प्रक्रिया का पालन करके "प्रदर्शन नहीं खोल सकते" त्रुटि को ठीक कर सकते हैं।

Xhost + का उपयोग कर क्लाइंट को किसी होस्ट से कनेक्ट करने दें

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

$ xhost +

अभिगम नियंत्रण अक्षम, ग्राहक किसी भी मेजबान से कनेक्ट कर सकते हैं

एक्स 11 अग्रेषण सक्षम करें

एसएसएच करते समय X11 अग्रेषण को सक्षम करने के लिए विकल्प -X का उपयोग करें।

$ ssh username@hostname -X

-Y विकल्प का उपयोग कर विश्वसनीय X11 अग्रेषण सक्षम करें,

$ ssh username@hostname -Y

उस होस्ट में ओपन जीयूआई एप्लीकेशन

ऊपर बताए गए रिमोट होस्ट को एसएसएच कनेक्शन खोलने के बाद,   आप किसी भी जीयूआई एप्लीकेशन को खोल सकते हैं जो बिना किसी मुद्दे के इसे खोल देगा।

यदि आपको अभी भी "डिस्प्ले नहीं खोल सकता" त्रुटि मिलती है, तो DISPLAY सेट करें   जैसा कि नीचे दिखाया गया है वैरिएबल।

$ export DISPLAY='IP:0.0'

नोट: आईपी स्थानीय वर्कस्टेशन का आईपी है जहां आप जीयूआई चाहते हैं   प्रदर्शित करने के लिए आवेदन।


49
2018-02-21 08:47



नोट के लिए +1 आईपी ​​= स्थानीय वर्कस्टेशन का आईपी है जहां आप जीयूआई प्राप्त करना चाहते हैं - PCoder
ओएस एक्स पर समान मुद्दों वाले लोगों के लिए, यह भी सुनिश्चित करें कि आपके पास XQuartz इंस्टॉल है, अन्यथा इनमें से कोई भी फ़िक्स सहायता नहीं करता है। (ओपी के सवाल से पता चलता है कि उसके पास एक्सक्वर्टज़ है, इसलिए यह उन लोगों के लिए एक साइड नोट है जो मेरे जैसा था) - Dolan Antenucci
ध्यान दें कि चल रहा है xhost + बहुत असुरक्षित है और इसका उपयोग नहीं किया जाना चाहिए! स्टीफन रोगिन ने उल्लेख किया है कि हमलावर मेजबान से आपके XSession से कनेक्ट हो सकता है, आप जो भी टाइप करते हैं उसे पढ़ सकते हैं, या जो स्क्रीन आप देखते हैं उसे बदल सकते हैं। - jirislav


मैक ओएस एक्स से उबंटू वीएम में लॉग इन करते समय मुझे यह समस्या आई है - यह कुछ कारणों से डिस्प्ले वैरिएबल में 'लोकलहोस्ट' जैसा प्रतीत नहीं होता है। तो आईपी मैन्युअल रूप से सेट करें, क्योंकि हैरीमैक सुझाव देता है:

export DISPLAY="127.0.0.1:10.0"

फिर एक्स 11 प्रोग्राम ठीक होना चाहिए। ऐसा लगता है कि ओएस को यह बताने के लिए जरूरी नहीं होना चाहिए कि लोकलहोस्ट और 127.0.0.1 बराबर हैं, लेकिन यह कम से कम काम करता है।


17
2018-06-29 20:44



यह मेरे लिए काम किया। कोई विचार क्यों लोकहोस्ट काम नहीं कर रहा था? - Alex
बिंगो! मैं कुछ समय के लिए उस समस्या से फंस गया हूं ... मैं एसएसएच द्वारा जुड़ा हुआ हूं और जीटीके प्रोग्राम लॉन्च नहीं कर सका (सादा एक्स 11, जैसे "xeyes", हालांकि काम किया)। प्रदर्शन सही था। दरअसल, "लोकलहोस्ट" का संकल्प नहीं था! यदि मैं मैन्युअल रूप से DISPLAY = 127.0.0.1: 10.0, या DISPLAY = :: 1: 10.0 सेट करता हूं तो यह काम करता है। संपादन / आदि / मेजबान का कोई प्रभाव नहीं पड़ता है; और DNS सही ढंग से कॉन्फ़िगर किया गया है ("digh localhost" कोर्रेक्टी रिपोर्ट 127.0.0.1 और :: दोनों को रिपोर्ट करता है) तो, यह Gtk (gtk? gdk? glib? अन्य?) में X11 कनेक्शन के लिए DNS रिज़ॉल्यूशन जो भी करता है, में एक बग प्रतीत होता है। - Pablo Saratxaga
बीगल बोन ब्लैक के लिए डेबियन इंस्टॉलेशन पर, / etc / होस्ट किसी के द्वारा रूट करने योग्य नहीं था लेकिन रूट। इससे यहां लक्षणों की सूचना मिली। मेड / इत्यादि मेजबान सभी द्वारा पठनीय, और यह ठीक काम किया। - Daniel


मुझे अपने CentOS KVM सर्वर के साथ यह समस्या थी, मुझे "xauth" प्रोग्राम याद आ रहा था।


13
2017-10-22 07:59



इससे मुझे मेरी न्यूनतम डेबियन स्थापना में मदद मिली, बहुत बहुत धन्यवाद! - binOr


अगर आपको यह समस्या है कुछ देर बाद जब चल रहा है -X आर्ग। या केवल ForwardX11 / etc / ssh / ssh_config में, फिर चलाएं $ ssh username@hostname -Y, सक्षम करने के लिए भरोसेमंद एक्स 11 अग्रेषण, सटीक कारण नहीं पता लेकिन मैं अनुमान लगा रहा हूं -X कुछ विशेषताओं की सुरक्षा के लिए कुछ समय बाद कुछ सुविधाएं समाप्त हो जाती हैं।

यहां मुझे ऑनलाइन मिला है:

यदि आप ssh -X remotemachine का उपयोग करते हैं तो दूरस्थ मशीन को एक के रूप में माना जाता है   अविश्वसनीय ग्राहक। तो आपका स्थानीय ग्राहक रिमोट को एक कमांड भेजता है   मशीन और ग्राफिकल आउटपुट प्राप्त करता है। अगर आपका आदेश उल्लंघन करता है   कुछ सुरक्षा सेटिंग्स आपको इसके बजाय एक त्रुटि प्राप्त होगी।

लेकिन अगर आप ssh -Y remotemachine का उपयोग करते हैं तो रिमोट मशीन के रूप में माना जाता है   भरोसेमंद ग्राहक यह अंतिम विकल्प सुरक्षा समस्याओं को खोल सकता है। इसलिये   अन्य ग्राफिकल (एक्स 11) क्लाइंट रिमोट मशीन से डेटा स्नीफ कर सकता है   (स्क्रीनशॉट बनाएं, कीलॉगिंग और अन्य बुरा सामान करें) और यह भी है   उन डेटा को बदलने के लिए संभव है।

यदि आप उन चीजों के बारे में अधिक जानना चाहते हैं तो मैं पढ़ने का सुझाव देता हूं   Xsecurity manpage या X सुरक्षा एक्सटेंशन spec। इसके अलावा आप   विकल्पों में जांच कर सकते हैं ForwardX11 और ForwardX11 आपके अंदर ट्रस्टेड   / Etc / ssh / ssh_config।

सूत्रों का कहना है:


9
2017-10-17 08:06





UXTERM या XTERM चलते समय बस जारी करें

export $DISPLAY 

चर वहाँ होगा। फिर बस इसे सेट करें और इसे निर्यात करें।


4
2017-07-10 21:26





बस मेरे मैक पर परीक्षण किया गया, अन्य सिस्टम ठीक हो सकता है:

  1. Xhost + का उपयोग कर क्लाइंट को किसी होस्ट से कनेक्ट करने दें

    $ xhost +

  2. आपके पास एक ऐसा वातावरण होना चाहिए जो X11 डिस्प्ले का समर्थन करता हो

    [मैक सिस्टम] मैक के लिए एक्स 11 स्थापित करें https://www.xquartz.org/

  3. आपको अपने एसएसएच-सर्वर को आगे x11 डिस्प्ले देना चाहिए

    अद्यतन करें /etc/ssh/sshd_config और सेट करें X11Forwarding yes, फिर अपने एसएसएच सर्वर को पुनरारंभ करें

  4. आपको अपने एसएसएच सत्र आगे x11 डिस्प्ले को देना चाहिए -X पैरामीटर

    $ ssh -X उपयोगकर्ता @ आईपी

  5. PyCharm में X11 ऐप कैसे खोलें?
    • एक एसएस सत्र खोलें जो X11 डिस्प्ले का समर्थन करता है (इस सत्र को रखना याद रखें)
    • रन echo $DISPLAY उस एसएसएच सत्र में
    • सेट DISPLAY आपके PyCharm के लिए पर्यावरण चर

4
2017-08-30 11:36



यह अलग क्यों है या इसे किसी अन्य उत्तर पर क्यों पसंद किया जाना चाहिए? कृपया बताएं कि क्या आप एक सरल के साथ कर सकते हैं संपादित करें। तुम कर सकते हो!! - Pimp Juice IT
@ मैकडॉनल्ड्स का धन्यवाद, अधिक जानकारी के साथ अपडेट किया गया। - Color


मुझे सोलारिस 10 के साथ भी यह समस्या थी और पाया कि श्रोता स्थापित नहीं किया गया था।

svccfg –s /application/x11/x11-server listprop options/tcp_listen
svccfg –s /application/x11/x11-server setprop  options/tcp_listen = true

2
2018-03-18 22:52





मुझे अंदर रखना पड़ा /etc/ssh/sshd_config निम्नलिखित:

X11UseLocalhost no

इसके बजाय इसे "हां" सेट करना। अजीब अगर डिफ़ॉल्ट "नहीं" है विंडोज के तहत एक्सएमइंग के साथ पुटी का उपयोग करने वाले उपयोगकर्ता। मैं फेडोरा पर सीधे एसएसएच का उपयोग करता हूं। कभी-कभी यह हमें देना शुरू कर देगा

error can't open display localhost

सर्वर का रीबूट आमतौर पर इसे ठीक करेगा लेकिन यह बेवकूफ है। उपर्युक्त, सेवा को पुनरारंभ किया sshd सर्वर पर और प्रतिष्ठित नए कनेक्शन फिर से ठीक काम कर रहे हैं।


2
2017-09-01 01:17





CentOS 6.5 पर, मैंने अचानक / etc / hosts के साथ गड़बड़ करने के बाद दूरस्थ एक्स-प्रोग्राम्स का उपयोग खो दिया। खाली $ DISPLAY चर के समान लक्षण (कोई मदद सेटिंग / मैन्युअल रूप से निर्यात नहीं)।

वास्तविक होस्टनाम को इंगित करने वाले 127.0.0.1 प्रविष्टि आवश्यक है; वास्तव में यह आदेश भी प्रासंगिक प्रतीत होता है (आखिरी बार रखें और यह काम नहीं करेगा ...)

[root@poseidon /etc]$ cat hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6
127.0.0.1 poseidon.mycampus.edu poseidon
1XX.XXX.XXX.208 poseidon.mycampus.edu poseidon

इसे ठीक करने के बाद, xeyes, xclock और अन्य एक्स परीक्षण खिलौने फिर से काम कर रहे हैं, इसलिए मेरी आवश्यक virt-manager भी लाइन पर वापस आ गया है।


1
2017-07-15 15:13





मुझे बस अपने सेटअप में एक अच्छा हिचकी मिली जो एक्स अग्रेषण को रोकती है: मेरा फ़ायरवॉल स्थानीयहोस्ट से सभी कनेक्शन अवरुद्ध कर रहा था, इस प्रकार सुरंग को पहुंचाया जा सकता था


1
2018-06-10 11:56