कैसे चलाते हैं। sudo से .kktop आइकन


11

मैंने gddccontrol के लिए एक डेस्कटॉप आइकन बनाया है, लेकिन इसे चलाने के लिए मुझे इसे sudo से निष्पादित करना होगा। क्या डेस्कटॉप आइकन से कमांड चलाने का कोई तरीका है, जैसे,

sudo -pPASSWORD gddccontrol

इसलिए यह टर्मिनल में मुझसे पासवर्ड नहीं मांगेगा?

मैं बस क्लिक करना चाहता हूं और इसे sudo अनुमतियों के साथ चलाता हूं।

[Desktop Entry]
Type=Application
Name=GDDCControl
Terminal=false
Comment=gddccontrol ddccontrol
Exec=sudo -pPASSWORD gddccontrol
Icon=~/Pictures/10429.png

जब मैं टर्मिनल से निम्नलिखित Exec कमांड के साथ आइकन चलाता हूं तो यह अच्छा काम करता है, लेकिन यह Launcher में काम नहीं करता है :(

Exec=echo mypasswd | sudo -S gddccontrol

जवाबों:


17

कभी किसी .desktopफ़ाइल में संग्रहीत अपने पासवर्ड का उपयोग न करें । यह बहुत असुरक्षित है।

इसके अलावा, आप .desktopउस तरह से एक फ़ाइल में जटिल कमांड नहीं चला सकते हैं , लेकिन यह एक और विषय है।

क्या करें

आपके पास कुछ विकल्प हैं:

  1. जोड़े gddccontrolको sudoersफ़ाइल, के रूप में जैसे समझाया यहाँ । यह तब किया जा सकता है यदि आप सुनिश्चित हैं कि आवेदन का उपयोग द्वेषपूर्ण चीजों को करने के लिए नहीं किया जा सकता है।

    फिर उपयोग करें

    Exec=sudo gddccontrol
    

    में Exec=ऑन लाइन

  2. एक अन्य विकल्प Exec=लाइन को इसके द्वारा प्रतिस्थापित करना है:

    Exec=gksu gddccontrol
    

    इस मामले में, एक बार जब आप आइकन पर क्लिक करते हैं, तो आपको gui के माध्यम से अपना पासवर्ड दर्ज करने के लिए प्रेरित किया जाएगा।
    आपको संभवतः स्थापित करने की आवश्यकता है gksu:

    sudo apt-get install gksu
    

कोई अन्य तरीके sudoers और gksu के संपादन के बिना? क्योंकि gksu किसी भी तरह से पासवर्ड पूछ रहा है, लेकिन जब शाम को सोफा पर im बिछाने का समय होता है, तो मैं चाहूंगा कि माउस के साथ gddccontrol को चलाएं चमक / कंट्रास्ट कम करें और मेरे कीबोर्ड पर आए बिना फिल्म देखें। मैं बेहतर तरीके से अपने उपयोगकर्ता को $ gddccontrol dev: / dev / i2c-4 की अनुमति दूंगा: अनुमति से इनकार किया कि मैं शाम के समय में चमक और विपरीतता को बदलने के लिए सिरदर्द के बिना एक आसान तरीका चाहता हूं :(
यूजीन

1
@ यूजीन मैं कल्पना कर सकता हूं। मैं उस मामले में sudoers फ़ाइल के लिए जाना होगा।
जैकब व्लिजम

1
पसंद करते हैं pkexecअधिक gksu; मेरा मानना ​​है कि इस पर एक मेटा पोस्ट था।
बिल्ली

@cat ऐसे pkexecही गुई अनुप्रयोगों पर नहीं चल रहा है। इसे स्थापित करना अधिक जटिल है, जबकि gksuपूरी तरह से काम करता है।
याकूब Vlijm

लेकिन मुझे pkexec16.04 को औपचारिक रूप से स्थापित करने की आवश्यकता नहीं है ।
वैलेंटाइन

4

sudoपरिभाषा के अनुसार पासवर्ड अनुरोध का उपयोग करना होगा। आपको अपने उपयोगकर्ता को अनुमतियाँ निष्पादित करने के लिए क्या करना होगा। मुझे यकीन नहीं है कि वह कार्यक्रम कहां स्थित है, लेकिन इस जवाब के लिए, मान लें कि यह है /usr/bin/

किसी टर्मिनल में इसे चलाएं:

sudo chmod o+x /usr/bin/gddccontrol

यह कमांड थ्री यूजर्स (आप की तरह) को अनुमति के बिना प्रोग्राम के लिए ई एक्स एक्यूट का अधिकार प्रदान कर रहा है ।

फिर, .desktop फ़ाइल में, बस उपयोग करें:

Exec=gddccontrol

0

मैं एक सादे पाठ फ़ाइल में हार्ड-कोडिंग पासवर्ड के खिलाफ हूं, इसलिए मैं दो संभावित समाधानों के बारे में सोच सकता हूं:

  1. सिस्टम-वाइड एडिट करें जो आपके उपयोगकर्ता द्वारा जारी किए गए हर कमांड को सूडो के साथ पासवर्ड के लिए संकेत दिए बिना सुपरसुअर के रूप में चलाया जाता है। आप इस जवाब में जान सकते हैं

  2. यदि आप sudoकमांड को हमेशा पासवर्ड प्रॉम्प्ट के साथ निष्पादित नहीं करना चाहते gksuहैं, तो एक फ़ाइल में अपने कच्चे पासवर्ड को लिखने के बजाय ग्राफिक विंडो में पासवर्ड के लिए प्रॉम्प्ट करने से पहले अपनी सर्वश्रेष्ठ कमांड का उपयोग करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.