मीर से कनेक्ट करने में विफल: सर्वर सॉकेट से कनेक्ट करने में विफल: ऐसी कोई फ़ाइल या निर्देशिका नहीं


18

दूसरे उपयोगकर्ता के रूप में लॉग इन करने के बाद मैं GUI प्रोग्राम कैसे चलाऊं?

thufir@doge:~$ 
thufir@doge:~$ sudo -u hawat -i
hawat@doge:~$ 
hawat@doge:~$ whoami
hawat
hawat@doge:~$ 
hawat@doge:~$ pwd
/home/hawat
hawat@doge:~$ 
hawat@doge:~$ echo $HOME
/home/hawat
hawat@doge:~$ 
hawat@doge:~$ firefox
No protocol specified
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused
Error: cannot open display: :0
hawat@doge:~$ 

जवाबों:


13

export DISPLAY=:0मेरे लिए काम किया। सुनिश्चित करें कि आप कनेक्ट करने वाले सिस्टम पर कमांड निष्पादित करते हैं, उस सिस्टम पर नहीं जिस पर आप कनेक्ट कर रहे हैं!


2
मशीन पर मैं कनेक्ट करने के लिए उपयोग कर रहा था, न कि जिस मशीन से आप कनेक्ट कर रहे हैं।
user2938093

आह, यह एक ही बॉक्स पर है। अलग खाते हैं।
थोफिर

1
मेरे कंप्यूटर पर कोई असर नहीं हुआ
ComputerScientist

मेरे लिए काम नहीं। मुझे नहीं पता कि मेरे साथ ऐसा क्यों हो रहा है।
किम

6

यह उत्तर मेरे Ubuntu 16.04 और मीर (थोड़े अनुकूलन के साथ) पर काम करता है :

Xauth का उपयोग करके दूसरे उपयोगकर्ता के रूप में x कमांड चलाएँ

रैपर बैश स्क्रिप्ट:

सुविधा के लिए, मैंने एक रैपर बैश स्क्रिप्ट बनाई , जिसे आप /usr/local/bin/xsudoनिष्पादन योग्य ( chmod +x /usr/local/bin/xsudo) डाउनलोड और चिह्नित करना चाह सकते हैं ।

फिर बस चलाएं:

xsudo hawat firefox

संभावित विकल्प:

  • एक अधिक सरल विकल्प के रूप में, आप इस पर गौर कर सकते हैं pam_xauth( हालांकि यह उत्तर ) हालांकि यह किसी कारण से मेरे लिए काम नहीं करता है। (मैं अभी भी फ़ायरफ़ॉक्स के बारे में त्रुटि प्राप्त करने में सक्षम नहीं हो रहा है: 0)
  • मंचों का एक बहुत में आप आदेश देख सकते हैं xhost +local:या इसी तरह की है, जो होगा बनाने के gksudo -u hawat firefoxकिसी भी आवरण स्क्रिप्ट के बिना काम करते हैं। हालाँकि इस बात से अवगत रहें कि यह एक सुरक्षा खामी को खोलता है : आपके स्थानीय होस्ट पर कोई भी सक्रिय उपयोगकर्ता आपके कीबोर्ड, माउस, स्क्रीन आदि का उपयोग करने में सक्षम होगा।
  • वहाँ sux हुआ करता था , जिसे किसी कारण से बंद कर दिया गया है - आप अभी भी इसे डाउनलोड करने और उपयोग करने में सक्षम हो सकते हैं। जहाँ तक मैं बता सकता हूँ, इसने मेरी स्क्रिप्ट के समान कुछ और ही किया। दुर्भाग्य से मैं यह नहीं जान पाया कि अब इसका रखरखाव क्यों किया जाता है। (शायद इसलिए कि हमें अब pam_xauth का उपयोग करना चाहिए - s। पहला विकल्प)

3

इस पर बहुत अधिक समय बिताने के बाद, मुझे पता चला कि 16.04 पर गनोम के साथ, सही मूल्य है DISPLAY=:1, न DISPLAY=:0कि यह पुराने समय से है।


1

निर्यात प्रदर्शन =: 0 ठीक काम करता है, लेकिन यह एक अस्थायी समाधान है क्योंकि आपको टर्मिनल खोलने पर हर बार इसे टाइप करने की आवश्यकता होती है।

स्थायी समाधान: समस्या inv_keep वैरिएबल इन / etc / sudoers के कारण हो सकती है। / आदि / sudoers के अंत में gedit का उपयोग करके या sudo visudo का उपयोग करते हुए निम्न पंक्ति जोड़ें

डिफ़ाल्ट्स env_keep + = "DISPLAY"

नोट: ध्यान रखें कि env_keep को जोड़ते समय हमेशा "+ =" का उपयोग करें । मामले में अगर "=" के साथ कोई अन्य env_keep है, तो उन्हें "+ =" में बदल दें क्योंकि "=" का उपयोग करने से अन्य मान समाप्त हो जाएंगे।


FYI करें: ध्यान रखें कि आप sudoers फ़ाइल को सीधे संपादित करने वाले नहीं हैं, लेकिन visudoआवरण का उपयोग करके , जो एक नई sudoers फ़ाइल लिखने से पहले कुछ जाँच की सुविधा प्रदान करता है।
गेब्रियल फेयर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.