जवाबों:
sudoकमांड लाइन पर पासवर्ड के लिए पूछता है, और gksudoइसके लिए एक संवाद बॉक्स पॉप अप करता है।
sudo -Eबराबर है gksudo?
gksudoएक GTK- आधारित सीमांत है sudo(BTW, kdesudoएक Qt- आधारित फ़्रंट है), हालाँकि यह (डिफ़ॉल्ट रूप से) अधिक पर्यावरणीय चर ( , इत्यादि) को संभालता है HOME, इस प्रकार रूट कमांड को रूट सुरक्षित बनाता है।XAUTHORITYsudo
जहाँ तक मैं देख सकता हूँ केवल @ लॉजिक्स का उत्तर पर्याप्त है (@Ignacio Vazquez-Abrams's पूरा नहीं हुआ है)। यहाँ @Davros @knitti उत्तर / टिप्पणियों के लिए स्पष्टीकरण से बचने की कोशिश करें (कृपया इसे हटा दें / संपादित करें जब इसकी आवश्यकता न हो):
sudo, लेकिन यूआई का इस्तेमाल केवल दो कमांड का अंतर नहीं है। HOMEपर्यावरण चर अंक में है) sudoकुछ सिस्टम और स्थितियों में कमांड)। सभी GUI ऐप्स आपके होम डायरेक्टरी को नहीं लिखते हैं और सभी CLI ऐप्स नहीं करते हैं , इसलिए कमांड का प्रकार प्रमुख बिंदु नहीं है। sudoरूट के रूप में (एक उदाहरण के रूप ऐप्स 'कंसोल आउटपुट देखने के लिए) लांच जीयूआई क्षुधा को आदेश, फिर भी आप संभाल करने की जरूरत है HOME(और इस तरह के रूप में दूसरों XAUTHORITY, DISPLAY, इनपुट विधि से संबंधित सामान, आदि) पर्यावरण वेरिएबल ठीक से तो लॉन्च किया गया ऐप विफल नहीं होगा, कार्यक्षमता खो देगा या वास्तव में खराब सामान कर सकता है। उपयोग करने के लिए मेरी वर्तमान अनुशंसा निम्न हैsudo
sudo -H <rest of the command>
sudoअनुभाग 8 मैनुअल पेज से) -H ( HOME )विकल्प अनुरोध करता है कि सुरक्षा नीति HOMEपर्यावरण डेटाबेस को लक्ष्य उपयोगकर्ता की होम निर्देशिका (डिफ़ॉल्ट रूप से रूट) पर सेट करें जैसा कि पासवर्ड डेटाबेस द्वारा निर्दिष्ट किया गया है। नीति के आधार पर, यह डिफ़ॉल्ट व्यवहार हो सकता है।sudoकॉलर के होम डायरेक्टरी में बनाई जा रही फाइलों को रोकना चाहिएsudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
sudoकमांड का व्यवहार सभी प्रणालियों पर समान नहीं है और इसे visudoकमांड के माध्यम से कॉन्फ़िगर किया जा सकता है , कृपया sudoers(5)अधिक जानकारी के लिए मैनपेज देखें।ग्राफिकल कार्यक्रमों को चलाने के लिए नियमित रूप से सूडो का उपयोग करना कुछ अवसरों पर दुर्लभ अनुमति को गड़बड़ कर देगा। एक जीयूआई के साथ चलने वाले कार्यक्रमों के लिए सुरक्षित gksudo (या उपयुक्त के रूप में kdesudo) का उपयोग किया जाना चाहिए। मुझे लगता है कि यह वास्तव में एक बग है, हालांकि मैंने स्पष्टीकरणों को सुना है कि gksudo एक्स सर्वर चर समझता है और sudo संभवतः समस्याओं के लिए अग्रणी नहीं है। बस एक टिप के रूप में; यदि आप ग्राफ़िकल प्रोग्राम्स को रूट के रूप में चला रहे हैं, तो प्रत्येक प्रोग्राम जिसे आप चलाना चाहते हैं, के लिए एक टर्मिनल खोलने के बजाय, ALT-F2 (एक ही समय में Alt और फ़ंक्शन कुंजी 2) टाइप करें, फिर डायलॉग बॉक्स में टाइप करें जो "gksudo" पॉप अप करता है प्रोग्राम "उद्धरण और प्रोग्राम के बिना जिसे आप चलाना चाहते हैं एप्लिकेशन द्वारा प्रतिस्थापित किया गया है।
sudo ऊंचे विशेषाधिकारों के साथ वर्तमान उपयोगकर्ता के रूप में चलता है। इसमें ग्राफ़िकल ऐप्स चलाते समय कुछ उपयोगकर्ता कॉन्फ़िगर फ़ाइलों (आपके ग्राफ़िकल वातावरण से संबंधित) की फ़ाइल अनुमतियों को बदलने की क्षमता है। इन ऐप को फिर से सुडो के बिना चलाने पर आपको त्रुटियां हो सकती हैं।
gksudo (KDE के तहत kdesudo) ऐप्स को रूट उपयोगकर्ता के रूप में चलाता है, इस प्रकार छुआ गया कोई भी फ़ाइल अनुमतियाँ रूट की फ़ाइलों पर होती हैं, न कि उपयोगकर्ताओं की फ़ाइलों पर। इन ऐप्स को बिना gksudo / kdesudo के फिर से चलाने से हमेशा अपेक्षित व्यवहार होगा।
वर्तमान उत्तर गलत है। उबंटू रूटसुडिक विकि के अनुसार :
"आलेखीय अनुप्रयोगों को रूट के रूप में शुरू करने के लिए आपको कभी भी सामान्य sudo का उपयोग नहीं करना चाहिए। आपको ऐसे प्रोग्राम चलाने के लिए gksudo (Kubuntu पर kdesudo) का उपयोग करना चाहिए। gksudo होम = ~ रूट, और प्रतियाँ सेट करता है। एक tmp निर्देशिका के लिए .Xauthority। यह आपके घर में फ़ाइलों को रोकता है। निर्देशिका रूट के स्वामित्व में हो रही है। (AFAICT, यह सब कुछ gksudo - sudo के साथ शुरू की गई प्रक्रिया के वातावरण के बारे में विशेष है।)