X सर्वर से कनेक्ट नहीं हो सकता: 0.0 सुपरयुजर के रूप में


10

जब मैं ऑनलाइन होता हूं, मुझे निम्नलिखित त्रुटि मिलती है और टूल प्रारंभ नहीं होता है:

[root@dhcppc9 lin64]# ./ise
No protocol specified
_pn: cannot connect to X server :0.0

लेकिन सब कुछ ठीक है जब मैं एक सुपरसिर नहीं हूं। यह क्यों?

संपादित करें

[root@dhcppc9 lin64]# export $(dbus-launch)
No protocol specified

कोई उपाय?

भी

[root@dhcppc9 lin64]# xhost [+]
No protocol specified
xhost:  unable to open display ":0.0"

यह एक क्लासिक है। आप X और अपने सुपरयूज़र खाते का उपयोग करके प्रोग्राम लॉन्च करने में सक्षम हो सकते हैं export $(dbus-launch)या कर सकते हैं xhost [+]
४१ --५४

क्या दोनों ने, ऊपर संपादित देखें
msz

यह $ xhostवर्तमान पहुँच को देखने और $ xhost +किसी भी होस्ट से पहुँच को सक्षम करने के लिए हो सकता है। आप अक्सर ऐसा वर्चुअल टर्मिनल से करते हैं, जिसे आप निश्चित रूप से जानते हैं कि X. का उपयोग करके कार्यक्रम स्पॉन कर सकते हैं
41754

@galegosimpatico: डब सर्वर लॉन्च करने से इस समस्या का समाधान क्यों होगा?
बनुआंगिन

जब आप सुपरसुसर नहीं हैं, तो क्या echo $DISPLAYदिखाता है? जो उपयोगकर्ता xserver प्रक्रिया करता है, आप उसका उपयोग करना चाहते हैं? (आप उदाहरण के लिए उपयोग करके उत्तरार्द्ध का पता लगा सकते हैं ps faux)
बनुआंगिन

जवाबों:


12

एक्स डिस्प्ले से कनेक्ट करने के लिए एक एक्स प्रोग्राम को दो टुकड़ों की जानकारी चाहिए।

  • इसे डिस्प्ले के पते की आवश्यकता होती है, जो आमतौर पर :0जब आप स्थानीय रूप से लॉग इन करते हैं :10, या :11आदि, जब आप दूरस्थ रूप से लॉग इन होते हैं (लेकिन नंबर कितने एक्स कनेक्शन सक्रिय हैं इसके आधार पर बदल सकते हैं)। प्रदर्शन का पता सामान्य रूप से DISPLAYपर्यावरण चर में इंगित किया गया है।

  • इसमें डिस्प्ले के लिए पासवर्ड की जरूरत होती है। एक्स डिस्प्ले पासवर्ड को मैजिक कुकीज कहा जाता है । मैजिक कुकीज को सीधे निर्दिष्ट नहीं किया जाता है: वे हमेशा एक्स अथॉरिटी फाइलों में संग्रहित होती हैं, जो कि "डिस्प्ले :42में कुकी है 123456" फॉर्म के रिकॉर्ड का एक संग्रह है । X अथॉरिटी फ़ाइल को आमतौर पर XAUTHORITYपर्यावरण चर में इंगित किया जाता है। यदि $XAUTHORITYसेट नहीं है, तो प्रोग्राम उपयोग करते हैं ~/.Xauthority

देखें ओपन एक दूरस्थ X प्रदर्शन पर एक खिड़की (क्यों "नहीं खोल सकता प्रदर्शन")? अधिक जानकारी के लिए।

आपके मामले में, DISPLAYसेट किया गया है, लेकिन प्रोग्राम जाहिर कुकी फ़ाइल नहीं मिल सकता है। XAUTHORITYअपने सत्र और नीचे के मूल्य की जाँच करें su

यदि XAUTHORITYआपके सत्र में सेट नहीं किया गया है और रूट के होम डायरेक्टरी के लिए पर्यावरण चर suसेट करता HOMEहै, तो आपको यह सेट XAUTHORITYकरने की आवश्यकता है कि आपका होम डायरेक्टरी /home/msz/.Xauthorityकहां /home/mszहै।

यदि पर्यावरण से suहटा XAUTHORITYदिया जाता है, तो या तो इसे वापस रख दें, या suऐसा न करने के लिए कॉन्फ़िगर करें।

यदि आपका होम डायरेक्टरी NFS जैसे कुछ फाइल सिस्टम पर है, तो रूट इसे सीधे पढ़ने में सक्षम नहीं हो सकता है। उस स्थिति में, आप .Xauthorityगैर-एनएफएस फाइल सिस्टम पर फ़ाइल को किसी भिन्न स्थान पर कॉपी कर सकते हैं :

XAUTHORITY_COPY=$(umask 077; mktemp)
cat "${XAUTHORITY:-~/.Xauthority}" "$XAUTHORITY_COPY"
XAUTHORITY="$XAUTHORITY_COPY" su
rm "$XAUTHORITY_COPY"
unset XAUTHORITY_COPY

1
मैंने एक प्रतीकात्मक लिंक बनाया और इसने काम भी किया। यहाँ यह है:ln -s /home/otheruser/.Xauthority ~
कर सकते हैं Geliş

मेरे लिए XAUTHORITY एक फाइल के रूप में सेट की गई थी जो अब अस्तित्व में नहीं है:
pbhj

5

आप xhost को रूट के रूप में चला रहे हैं!

सामान्य उपयोगकर्ता के रूप में xhost चलाएं xhost +, फिर रूट बनें और फिर प्रयास करें।

btw के रूप में दूसरों ने कहा है xhost +कि किसी भी मेजबान से किसी भी उपयोगकर्ता परमिट


कई आधुनिक सिस्टम स्थापित किए गए हैं ताकि xhostकाम न करें। अगर ऐसा होता है, तो कम से कम चले xhost +localhost, नहीं xhost +!
गाइल्स का SO- बुराई पर रोक '

समझ लो, यह अच्छी बात है। आपके सुझाव के लिए धन्यवाद।
X Tian

यह मेरी समस्या थी! धन्यवाद, यह सब कुछ हल कर दिया! मैंने बस इसे गैर-रूट से चलाया।
क्विड

0

मेरे लिए XAUTHORITY को एक फ़ाइल के रूप में सेट किया गया था जो अब अस्तित्व में नहीं है:

$ echo $XAUTHORITY

/tmp/xauth-1000-_0

तो मैंने किया

unset XAUTHORITY

और फिर kdesudo (इस मामले में kdesudo bleachbit) का उपयोग करके रूट के रूप में मेरे ऐप से कनेक्ट करने में सक्षम था


0

सामान्य उपयोगकर्ता के रूप में चलाएँ

xhost + localhost

फिर सुपर उपयोगकर्ता को सक्षम करें

sudo su 

अंत में सर्वर उदाहरण पर जाएं

cd /usr/local/Ampps

अंत में चलाएं

मुझे 2020 में धन्यवाद


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