gksu: Gtk-WARNING **: प्रदर्शन नहीं खोल सकता:: 0


40

अचानक गक्सू ने मेरे लिए काम करना बंद कर दिया:

~$ gksu gparted

(gpartedbin:24252): Gtk-WARNING **: cannot open display: :0

ऐसा ही होता है gparted-pkexec:

~$ gparted-pkexec 
No protocol specified

(gpartedbin:25454): Gtk-WARNING **: cannot open display: :0

संभवतः इसका क्या कारण हो सकता है?

मैं एसएसएच या वीएनसी के माध्यम से इसे नहीं चला रहा हूं। यह एक सामान्य टर्मिनल विंडो में लोकलहोस्ट है ।


आप किसी ग्राफ़िकल यूज़र इंटरफ़ेस में काम नहीं करते हैं या किसी सिस्टम पर प्रोग्राम चलाने की कोशिश कर रहे हैं (उदाहरण के लिए ssh) जो कोई ग्राफ़िकल इंटरफ़ेस प्रदान नहीं करता है।
एबी

1
@AB मुझे स्पष्ट करना चाहिए कि यह ssh के माध्यम से नहीं है। यह एक बहुत ही सामान्य टर्मिनल विंडो में स्थानीय होस्ट पर है। एप्लिकेशन मेन्यू से gparted Infact खोलने का एक ही परिणाम है।
d_inevitable 16

आपको gksuGParted को चलाने के लिए उपयोग नहीं करना चाहिए । gpartedउन्नत विशेषाधिकार प्राप्त करने के लिए पोलकिट का उपयोग करता है।
मूरू

@ जब मैं gpartedबिना दौड़ता हूं तो मुझे gksuमिलता हैRoot privileges are required for running gparted.
d_inevitable

ठीक है, कोशिश gparted-pkexec(बिना gksu) या gksu gpartedbin
मूरू

जवाबों:


67

यदि उबंटू 17.10 या नया चल रहा है, तो यह समस्या तब उत्पन्न हो सकती है जब किसी एप्लिकेशन को वायलैंड के लिए पूर्ण समर्थन के साथ अद्यतन नहीं किया गया है। अनुप्रयोग अद्यतन होने तक वर्कअराउंड के रूप में, आप चला सकते हैं

xhost +SI:localuser:root

जो rootउपयोगकर्ता को आपके डेस्कटॉप पर एप्लिकेशन प्रदर्शित करने की अनुमति देगा । इसके अलावा अन्य संभावित वर्कअराउंड के लिए इस प्रश्नोत्तर देखें: क्यों नहीं gksu / gksudo या Wayland के साथ sudo काम के साथ एक चित्रमय अनुप्रयोग शुरू?

स्रोत


@MDMower Thx संपादन के लिए, कुछ नया सीखा =)!
कटटन आई

लिंक जोड़ने के लिए @pomsky Thx;)
कटटन आई

18.04 में एक्स-ऑर्ग को फिर से डिफ़ॉल्ट के रूप में उपयोग किया जाएगा। तो यह समस्या तब होनी चाहिए। देखें
कट्टन आई

11

xhost +localhostअपने टर्मिनल में दौड़ने की कोशिश करें , और फिर कमांड को फिर से चलाएं। यह आपके सिस्टम के सभी उपयोगकर्ताओं (यानी रूट) को आपकी स्क्रीन पर विंडो खोलने देता है। + लोकलहोस्ट का उपयोग करना सुनिश्चित करें और केवल + नहीं, क्योंकि कहीं से भी केवल स्थानीयहोस्ट से कनेक्शन की अनुमति देना अधिक सुरक्षित है।

इसे स्थायी बनाने के लिए, ~/.xinitrcफ़ाइल को इस तरह संपादित करें:

रन gedit ~/.xinitrc

इस तरह दिखने के लिए फ़ाइल को संपादित करें (यह शुरुआत में खाली होना चाहिए):

#! /bin/bash
xhost +localhost &

अब फ़ाइल को सहेजें, लॉग आउट करें और लॉग इन करें। अब सब कुछ सुडोल के साथ ठीक चलना चाहिए।

मैं आपकी समस्या को 14.04 को पुन: पेश नहीं कर सकता, लेकिन यह मेरे लिए अतीत में काम कर चुका है जब sudo / gksu ने इस त्रुटि को फेंक दिया था।

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

  1. http://www.nikhef.nl/~mjg/xhost_plus.html
  2. https://forums.opensuse.org/showthread.php/405624-sudo-doesnt-open-X-programs
  3. https://wiki.ubuntu.com/CustomXSession

1
यह वास्तव में काम करता है। तो इसका मतलब यह है कि एक अभिगम नियंत्रण प्रतिबंध है? कोई भी विचार इसका कारण क्या हो सकता है?
d_inevitable

हां, यह एक्स की सुरक्षा विशेषता है। यह आपके उपयोगकर्ता से केवल एक्सरेवर तक ही कनेक्शन की अनुमति देता है, जब तक कि मुझे नहीं बताया गया हो। मुझे यकीन नहीं है कि कुछ ऐप्स के लिए यह आवश्यक है और दूसरों के लिए नहीं, और मुझे इस बात का कोई सुराग नहीं है कि यह सभी चीजों के लिए क्यों किया जाएगा। शायद आप छेड़छाड़ कर रहे थे और कहीं न कहीं सुरक्षा कड़ी कर दी गई थी?
मार्क पास्कल

2
यह एक त्रुटि पैदा करता है: xhost: प्रदर्शन खोलने में असमर्थ ""
इगोरगानापोलस्की

5
पर redis , यह उपयोग करने के लिए सुझाव दिया गया था xhost +local:। उसके बाद मैं टर्मिनल से gparted लॉन्च करने में सक्षम था, लेकिन xhost +localhostकाम नहीं कर रहा था।
रीन

1
वास्तव में! xhost +local:मेरी तय! इसकी पैदावार वह होती है non-network local connections being added to access control listजिसकी जरूरत होती है।
लॉबनर

5

अपने टर्मिनल में निम्नलिखित निष्पादित करें:

nano /home/user/.bashrc # user = name of your user

निम्नलिखित पंक्ति को अंत में जोड़ें।

export XAUTHORITY=$HOME/.Xauthority

2
उपयोगी होगा यदि आप कुछ स्पष्टीकरण जोड़ सकते हैं कि यह समस्या को कैसे हल करता है, और क्या इसका कोई प्रतिकूल दुष्प्रभाव है?
ज्योफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.