चलो कहते हैं कि मैं 2 उपयोगकर्ता खाते हैं user1और user2। जब मैं के रूप में प्रवेश user1, और फिर करने के लिए स्विच user2का उपयोग कर su, मैं कमांड लाइन कार्यक्रमों निष्पादित कर सकते हैं, लेकिन जीयूआई कार्यक्रमों असफल।
उदाहरण:
user1@laptop:~$ su - user2
user2@laptop:~$ leafpad ~/somefile.txt
No protocol specified
leafpad: Cannot open display:
तो मैं GUI एप्लिकेशन कैसे चला सकता हूं?
$XAUTHORITYअभी भी user1 के लिए सेट है~/.Xauthority, जो कि प्रोग्राम, मुझे लगता है, पढ़ने की कोशिश करेगा, और यह विफल रहता है क्योंकि उस फ़ाइल में आमतौर पर मोड 0600 (-rw-------) है, जिसका अर्थ है कि यह अनुपलब्ध है "अन्य" समूह में किसी के द्वारा पढ़ने के लिए, जिसमें user2 शामिल है। मतलब अगर आपchmod o+r ~/.Xauthority(user1 के रूप में), तो आप इस समस्या के आसपास अपना रास्ता हैक कर लेंगे। मैंने एक स्क्रिप्ट लिखी जो इसे प्रदर्शित करती है।