एक्स डिस्प्ले से कनेक्ट करने के लिए एक एक्स प्रोग्राम को दो टुकड़ों की जानकारी चाहिए।
इसे डिस्प्ले के पते की आवश्यकता होती है, जो आमतौर पर :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
export $(dbus-launch)या कर सकते हैंxhost [+]।