चलो कहते हैं कि मैं 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 के रूप में), तो आप इस समस्या के आसपास अपना रास्ता हैक कर लेंगे। मैंने एक स्क्रिप्ट लिखी जो इसे प्रदर्शित करती है।