मेरा भी आपसे एक ही सवाल था लेकिन एक सामान्य उपयोगकर्ता के लिए। मान लीजिए कि मैं उपयोगकर्ता खाता फू का उपयोग करके फ़ायरफ़ॉक्स शुरू करना चाहता हूं। मैं बार के रूप में लॉग इन हूं:
[bar@localhost ~]$ sudo -u foo -H firefox
अफसोस की बात है कि यह कमांड उसी त्रुटि के साथ विफल रही जैसे प्रश्न में (अर्थात कोई प्रोटोकॉल निर्दिष्ट नहीं किया गया है और प्रदर्शन नहीं खोल सकता है)
मेरा समाधान केवल एक्स सर्वर के लिए अधिकृत उपयोग की सूची में उपयोगकर्ता फू को जोड़ना था।
xhost si:localuser:foo
और वह यह था, तब मैं फ़ायरफ़ॉक्स sudo
और उपयोगकर्ता फू का उपयोग करके फ़ायरफ़ॉक्स (और अन्य एक्स एप्लिकेशन) लॉन्च करने में सक्षम था ।
बैकग्राउंड : एक्स विंडो पर, क्लाइंट / सर्वर आर्किटेक्चर है। जब आप कोई एप्लिकेशन लॉन्च करते हैं तो आप एक्स सर्वर प्राधिकरण से इसे प्रदर्शित करने का अनुरोध करते हैं। डिफ़ॉल्ट रूप से एक बार जब आप एक सत्र (आप ग्राफिक रूप से लॉगिन) खोलते हैं, तो आपको (आपके उपयोगकर्ता) सर्वर और प्रदर्शन अनुप्रयोगों के साथ जाहिर करने की अनुमति होती है। जब तक आप इसे निर्दिष्ट नहीं करते तब तक अन्य उपयोगकर्ताओं के पास इसकी अनुमति नहीं है। xhost
अनुमतियों की सूची में हेरफेर करने के लिए एक उपकरण है। si
इंगित करता है कि शासन सर्वर साइड है और यह स्थानीय उपयोगकर्ता को प्राधिकृत foo
प्रदर्शन आवेदन करने के लिए। इस संबंध में एक्स विंडो बहुत शक्तिशाली है और आप DISPLAY
पर्यावरण चर के साथ खेलते हुए और xhost
(लेकिन उनके लिए सीमित नहीं) द्वारा दूरस्थ अनुप्रयोगों को स्थानीय रूप से प्रदर्शित कर सकते हैं । पुराने समय में, जब लोग टाइप करते थेxhost +
और स्पष्ट रूप से सभी को अपने एक्स सत्र का उपयोग करने की अनुमति दी, प्रैंक्स के लिए अपनी स्क्रीन पर आवेदन प्रदर्शित करना संभव था ;-) इतना नहीं आजकल लोग एक्स विंडो क्लाइंट / सर्वर आर्किटेक्चर का उपयोग करते हुए कम से कम हैं (कम से कम मैं जो कुछ भी देखता हूं उसके लिए) पिछले 10 साल)।
पुनश्च: मैंने फ़ायरफ़ॉक्स को एक तरह के "जेल" में लॉन्च करने के लिए ऐसा किया था ( भविष्य में पीडीएफ़ की तरह एक भेद्यता से बचने के लिए )। लेकिन मुझे जल्दी ही पता चला कि सुडो के माध्यम से फ़ायरफ़ॉक्स कॉल करने से यह ऑडियो और वीडियो हार्डवेयर तक नहीं पहुंच पाएगा। लेकिन एक लड़का है जो स्पष्ट रूप से वीडियो हार्डवेयर त्वरण और ऑडियो को सक्रिय करने के लिए समझाता है जब सुडो के माध्यम से फ़ायरफ़ॉक्स कॉल किया जाता है । इन निर्देशों के साथ YMMV, उदाहरण के लिए मेरे पास अभी भी ऑडियो के साथ इनकार करने की अनुमति है लेकिन वीडियो ठीक है (Fedora 22 पर SELinux के साथ परीक्षण किया गया)।