उबंटू - "सुडो" के साथ स्टार्ट-अप पर रन कमांड


90

sudoजब उबंटू शुरू होता है (किसी को भी लॉग इन करने से पहले) मैं एक कमांड चलाना चाहता हूं :

sudo searchd

यह मैं कैसे करूंगा?

जवाबों:


194

आप /etc/rc.localस्टार्टअप के अंत में निष्पादित स्क्रिप्ट में कमांड जोड़ सकते हैं ।

पहले कमांड लिखिए exit 0। इसके बाद लिखी गई exit 0किसी भी चीज को कभी भी अंजाम नहीं दिया जाएगा।


38
इससे पहले, सुनिश्चित करने के लिए। इसके बाद लिखी गई exit 0किसी भी चीज को कभी भी अंजाम नहीं दिया जाएगा।
दिदिर ब्रॉसेट

नमस्ते मेरे पास भी है और rvmsudo कमांड को भी उसी स्थिति में निष्पादित किया जाना है। कमांड सामान्य रूप से पासवर्ड के लिए पूछेगा। अगर मैं /etc/rc.local में सीधे कमांड देता हूं तो क्या कोई समस्या होगी?
रवि

@fmonegaglia यह निर्भर करता है। यदि आप चाहते हैं कि कमांड शुरू हो, और स्क्रिप्ट स्क्रिप्ट पर अगले कमांड को जारी रखने से पहले खत्म होने का इंतजार करती है, तो नहीं &। यदि आप चाहते हैं कि वर्तमान कमांड समाप्त न होने पर भी निम्नलिखित कमांड शुरू हो, तो a जोड़ें &
डिडिएर ब्रॉस्सेट

@NoOne वर्तमान उपयोगकर्ता के लिए इस फ़ाइल पर एक्सेस अधिकारों की जाँच करें। Sudo के साथ एडिटर कमांड शुरू करना मुश्किल हो सकता है।
डिडिएर ट्रॉसेट

1
बेशक यह मौजूद है और हां, मैंने निष्पादन योग्य बिट निर्धारित किया है। सेवा को सक्षम करने का प्रयास करते समय, मुझे केवल The unit files have no installation config (WantedBy, RequiredBy, Also, Alias settings in the [Install] section, and DefaultInstance for template units) […].इस पर कोई सलाह मिलती है ?
ओराफिश

9

/etc/init/tty*.confएक पैरामीटर के रूप में शेलस्क्रिप्ट के साथ tty कॉन्फ़िगरेशन संपादित करें :

(...)
exec /sbin/getty -n -l  theInputScript.sh -8 38400 tty1
(...)

यह मानकर चल रहा है कि हम tty1 का संपादन कर रहे हैं और स्क्रिप्ट जो इनपुट पढ़ती है वह InputScript.sh है।

इस लिपि को चेतावनी देने का एक शब्द रूट के रूप में चलाया जाता है, इसलिए जब आप इस पर इनपुट कर रहे हैं तो आपके पास रूट प्राइवेटलीजेस हैं। स्क्रिप्ट के स्थान पर एक पथ भी जोड़ें।

महत्वपूर्ण: जब यह खत्म हो जाता है, तो स्क्रिप्ट को / sbin / लॉगिन को आमंत्रित करना पड़ता है अन्यथा आप टर्मिनल में लॉगिन करने में सक्षम नहीं होंगे।


1
हमारे उत्पाद उपकरण का निर्माण करते समय यह उत्तर मेरे लिए बहुत उपयोगी था, बहुत बहुत धन्यवाद
जोस एफ। रोमनियलो

0

अच्छा जवाब। आप अधिक लचीलेपन के लिए " Crontab " के साथ जॉब्स (यानी, कमांड्स) भी सेट कर सकते हैं (जो स्क्रिप्ट चलाने के लिए विभिन्न विकल्प प्रदान करता है, आउटपुट को लॉगगिन करता है, आदि), हालांकि इसे समझने और ठीक से सेट करने के लिए अधिक समय की आवश्यकता होती है:

'@Reboot' का उपयोग करके आप एक बार स्टार्टअप पर कमांड चला सकते हैं।

लपेटना : चलाना$ sudo crontab -e -u root

और अपने कमांड के साथ फाइल के अंत में एक लाइन जोड़ें:

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