एप्लिकेशन को sudo के साथ चलाने पर X सर्वर से कनेक्ट नहीं हो सकता


29

जब मैं sudoकमांड का उपयोग करके कुछ सॉफ़्टवेयर चला रहा हूं तो यह त्रुटि दिखा रहा है जैसे

cannot connect to X server

उदाहरण के लिए यदि मैं निम्नलिखित कमांड चलाता हूं:

$ sudo gedit /etc/profile

मुझे आज्ञा मिल रही है

(gedit:6758): WARNING **: Command line `dbus-launch --autolaunch=84b871d735f31ffe014dc9ba00000009 --binary-syntax --close-stderr' 
exited with non-zero exit status 1: 
Autolaunch error: X11 initialization failed. 
Cannot open display:
Run 'gedit --help' to see a full list of available command line options.

या अगर मैं दौड़ super-boot-managerरहा हूं तो मुझे निम्नलिखित त्रुटि हो रही है

buc: cannot connect to X server

कृपया मदद करे।


आप कहां super-boot-mangerसे भागते हैं?
थोर

पहले मैंने super-boot-managerएकता लंचर से सीधे चलने की कोशिश की , यह काम नहीं किया। फिर मैंने इसे टर्मिनल से आज़माया, फिर मुझे वो त्रुटि मालिश मिली।
अपूर्बा

चित्रमय उपयोगकर्ता वातावरण के भीतर एक टर्मिनल के रूप में? क्या echo $DISPLAYकहता है: आपको इसे बिना आंतरिक sudoरूप से super-boot-managerचलाता है sudo
थोर

echo $DISPLAYदे रहा है :0.0। और मैं नहीं चला रहा हूँ super-boot-managerके रूप में sudo। मैं super-boot-managerटर्मिनल से केवल कमांड का उपयोग कर रहा हूं ।
अपूर्वा

1
अंत में समस्या हल हो गई है। मैंने अभी-अभी लाइन जोड़ी है: Defaults env_keep="DISPLAY XAUTHORITY"के अंत में visudo। सभी के लिए धन्यवाद, विशेष रूप से @Thor के लिए मदद।
अपूर्वा

जवाबों:


39

आपको एक्स सर्वर पर रूट उपयोगकर्ता की अनुमति देने की आवश्यकता है:

xhost local:root

और कमांड को दाईं ओर इंगित करें DISPLAY:

sudo DISPLAY=$DISPLAY gedit /etc/profile

के geditरूप में खोलने के साथ समस्या हल sudo, लेकिन अभी भी दोपहर का भोजन नहीं कर सकते super-boot-manager। यह एक ही त्रुटि दिखा रहा है
अपूर्बा

15

अंत में समस्या हल हो गई है। मैंने अभी लाइन जोड़ी है:

डिफ़ाल्ट्स env_keep = "प्रदर्शन की योग्यता"

के अंत में visudo

ऐसा करने के लिए आपको दौड़ना होगा

सुडो विडो

यह फाइल को खोलेगा और अंत में उपरोक्त लाइन को जोड़ेगा।

सभी के लिए धन्यवाद, विशेष रूप से @Thor के लिए मदद


1
Defaults env_keep = "DISPLAY" मेरे लिए काम करता है।
बैगास्ट्रिस

मैं इस उत्तर को हमेशा के लिए उच्च और निम्न खोज रहा हूं। काश मैं आपके उत्तर के लिए कई बार आप दोनों को उत्थान कर पाता। आपका बहुत धन्यवाद! :)
Ev-

4

पूरक @ थोर का जवाब:

xhost local:rootपहले दौड़ो sudo gedit। इसे स्थायी बनाने के लिए, लाइन जोड़ें

xhost local:root

फ़ाइल के लिए ~ / .xinitrc 1 । यदि यह मौजूद नहीं है तो फ़ाइल बनाएँ।


[१] https://askubuntu.com/a/720120/452398


उत्तर देने के लिए धन्यवाद जो एक गैर-स्थायी समाधान प्रदान करता है।
2NinerRomeo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.