मान लें कि आप बल को अपने आप को एक्स के साथ संबंध बनाना चाहते हैं ...
मान लें कि आप पहले से ही सर्वर पर अपनी कमांड चला रहे हैं (जहां एक्स रन करता है), अन्यथा इसे पहले काम करने के लिए प्राप्त करें और फिर क्लाइंट से 'ssh -X user @ सर्वर) का उपयोग करें;)।
उदाहरण के लिए xauth कमांड को चलाने के कई तरीके हो सकते हैं, उदाहरण के लिए, आप 'sudo' का उपयोग कर सकते हैं, लेकिन वह पर्यावरण चर खो सकता है या बदल सकता है। निम्नलिखित पर्यावरण चर को संरक्षित करने की आवश्यकता है: प्रदर्शन और XAUTHORITY। यह जाँचने के लिए कि आप जिस तरह से अपनी कमांड चलाते हैं, उसी तरह 'इको $ XAUTHORITY' चला सकते हैं, लेकिन यह सुनिश्चित करें कि आप उन कमांड को चलाने से पहले पर्यावरण चर का विस्तार नहीं कर रहे हैं। उदाहरण के लिए, प्रयास करें: sudo bash -c 'echo "$ XAUTHORITY"' यह देखने के लिए कि आपके sudo को चलाने के बाद XAUTHORITY वास्तव में क्या है (यदि यह गायब हो जाता है तो आपको अपने sudo फ़ाइल में कुछ जोड़ने की आवश्यकता हो सकती है, अन्यत्र देखें)।
आखिरकार, निम्नलिखित कमांड को उस उपयोगकर्ता के रूप में चलाएं जिसे आप सर्वर पर एक्सेस करना चाहते हैं:
xauth info
यह 'प्राधिकरण फ़ाइल' दिखाएगा जो कि (/root/.Xauthority डिफ़ॉल्ट रूप से, रूट के लिए, या कुछ /home/theuser/.Xauthority जैसी) का उपयोग करेगा। यदि यह सही .Xauthority फ़ाइल दिखाता है, तो आपको वास्तव में XAUTHORITY पर्यावरण चर के बारे में चिंता करने की ज़रूरत नहीं है (वास्तव में, मुझे नहीं पता होगा कि यह तब नहीं होगा, जब आप उस फ़ाइल के गैर-मानक स्थान में हेरफेर करना चाहते हैं। )।
उस फ़ाइल को निकालें (यदि यह मौजूद है):
rm /root/.Xauthority
/root/.Xauthority
अपने मामले के लिए सही XAUTHORITY फ़ाइल से बदलें ।
इसे फिर से बनाएँ, लेकिन खाली (यह बहुत सारी आज्ञाओं के लिए आवश्यक है):
touch /root/.Xauthority
इस बिंदु पर आपको कोई प्रोटोकॉल निर्दिष्ट त्रुटि नहीं मिलेगी , भले ही आपको पहले अमान्य MIT-MAGIC-COOKIE-1 मिला हो। उस समय अधिकार फ़ाइल खोजें, जो X सर्वर उपयोग कर रहा है:
ps aux | grep Xorg
यह कुछ इस तरह दिखाना चाहिए:
root 1153 0.0 1.0 149560 44464 tty7 Ss+ dec02 0:00 /usr/lib/xorg/Xorg -nolisten tcp -auth /var/run/sddm/{ef18c483-7891-4e82-80ef-2c8f9bd79711} -background none -noreset -displayfd 17 vt7
फ़ाइल नाम के बाद -auth
आपको अगले कमांड में क्या चाहिए। इसे रूट के रूप में चलाएं:
sudo xauth -f '/var/run/sddm/{ef18c483-7891-4e82-80ef-2c8f9bd79711}' list
यह 32 अंकों की हेक्साडेसिमल कुंजी को सूचीबद्ध करता है। उदाहरण के लिए आउटपुट हो सकता है:
hostname/unix:0 MIT-MAGIC-COOKIE-1 c0eaf749aa252101a0f57d5087089db7
अपनी .Xauthority फ़ाइल बनाने के लिए इसका उपयोग करें (उपयोगकर्ता को फिर से लॉगिन करने की आवश्यकता है):
xauth add $DISPLAY MIT-MAGIC-COOKIE-1 c0eaf749aa252101a0f57d5087089db7
'c0eaf749aa252101a0f57d5087089db7' को बदलें जो आपके लिए लिस्ट कमांड द्वारा वापस किया गया था। अब आपकी .Xauthority का आकार 51 बाइट्स होना चाहिए और आप X सर्वर (फिर से) से जुड़ सकते हैं।