रास्पबेरी पीआई पर स्टार्टअप पर एक स्क्रिप्ट कैसे निष्पादित करें

चाहे इसे मीडिया सेंटर, वेब सर्वर, गेमिंग कंसोल, या बस एक कंप्यूटर के रूप में उपयोग किया जा सके, अनगिनत कारण हैं कि आपको अपने रास्पबेरी पीआई को बूट करते समय स्वचालित रूप से किसी विशेष प्रोग्राम या स्क्रिप्ट की आवश्यकता क्यों हो सकती है. यह आपको एक स्क्रिप्ट को बूट समय से शुरू करने के लिए मजबूर करने के लिए मजबूर करने के लिए मजबूर करना है (डेस्कटॉप लोड से पहले), या इसे अपनी ऑटोस्टार्ट फ़ाइल में जोड़कर (डेस्कटॉप लोड के बाद).

कदम

2 का विधि 1:
एक सेवा के रूप में एक स्क्रिप्ट जोड़ना
  1. छवि 8353066 1 शीर्षक
1. एक बनाने के .आपकी स्क्रिप्ट के लिए सेवा फ़ाइल. यह विधि आपको सिखाएगी कि एक ऐसी सेवा कैसे बनाएं जो आपकी स्क्रिप्ट को बूट समय पर चलाती है इससे पहले कि LXDE प्रारंभ हो. यदि स्क्रिप्ट को उन निर्भरताओं की आवश्यकता होती है जो तुरंत सक्रिय नहीं होते हैं (जैसे नेटवर्किंग या कुछ ग्राफिकल), सेवा आपकी स्क्रिप्ट को उन प्रक्रियाओं तक प्रतीक्षा करने के लिए बताएगी. एक फ़ाइल बनाएँ (कहा जाता है sCRIPTNAME स्क्रिप्ट.सेवा) जो इस संरचना का पालन करता है, पथ और विवरण की आवश्यकता के अनुसार:

[यूनिट]

विवरण = मेरी सेवा

के बाद = नेटवर्क-ऑनलाइन.लक्ष्य

[सेवा]

Execstart = / USR / BIN / PYTHON3 -U मुख्य.py

वर्किंगडायरेक्टरी = / होम / पीआई / मैसस्क्रिप्ट

मानक नियंत्रण = विरासत

StandardError = विरासत

पुनः आरंभ = हमेशा

उपयोगकर्ता = पीआई

[इंस्टॉल]

वांटबी = बहु-उपयोगकर्ता.लक्ष्य

  • छवि 8353066 2 शीर्षक
    2. सेवा को / etc / सिस्टम / सिस्टम की प्रतिलिपि बनाएँ. आपको इसे रूट के रूप में करने की आवश्यकता होगी, इसलिए उपयोग करें सुडो. यहां एक उदाहरण दिया गया है:
  • सुडो सीपी मैस्रिप्ट.सेवा / आदि / systemd / सिस्टम / myscript.सेवा
  • 8353066 3 शीर्षक वाली छवि
    3. इसे चलाकर सेवा का परीक्षण करें. सेवा को स्वचालित रूप से प्रारंभ करने से पहले, आप यह सुनिश्चित करना चाहते हैं कि निष्पादित होने पर स्क्रिप्ट ठीक से चलती है. सेवा के माध्यम से स्क्रिप्ट चलाने के लिए, आप इसका उपयोग करेंगे Systemctl इस तरह कमांड:
  • sudo systemctl प्रारंभ myscript.सेवा
  • यदि आप एक ही कमांड चलाकर, प्रतिस्थापित करके सेवा को रोक सकते हैं शुरू साथ से रुकें.
  • 8353066 4 शीर्षक वाली छवि
    4. बूट समय पर चलाने के लिए सेवा सेट करें. जब तक स्क्रिप्ट बिना त्रुटि के निष्पादित करता है, तब तक आप कमांड चला सकते हैं जो बूट समय पर स्क्रिप्ट चलाता है:
  • sudo systemctl myscript सक्षम करें.सेवा
  • 2 का विधि 2:
    ऑटोस्टार्ट फ़ाइल का उपयोग करना
    1. छवि 8353066 5 शीर्षक
    1. आवश्यकताओं को समझें और यह कैसे काम करता है. इस विधि को रास्पियन ऑपरेटिंग सिस्टम के नवीनतम संस्करण के साथ पिक्सेल डेस्कटॉप वातावरण की आवश्यकता होती है. इसे संपादित करके हासिल किया जाता है "ऑटो स्टार्ट" फ़ाइल जो LXDE डेस्कटॉप वातावरण में स्टार्टअप पर कमांड चलाती है, जो रास्पबेरी पीआई के पिक्सेल डेस्कटॉप का निर्माण होता है. इस विधि को परिदृश्यों में प्राथमिकता दी जाती है जहां:
    • आपकी स्क्रिप्ट के लिए डेस्कटॉप वातावरण की आवश्यकता होती है
    • आपकी स्क्रिप्ट को टर्मिनल विंडो से चलाने की जरूरत है
    • आप यह निर्दिष्ट करना चाहते हैं कि कौन से उपयोगकर्ता स्क्रिप्ट के लिए ऑटोस्टार्ट करेंगे
  • छवि 8353066 6 शीर्षक
    2. नैनो टेक्स्ट एडिटर में ऑटोस्टार्ट फ़ाइल खोलें. एक नई टर्मिनल विंडो में, निम्न आदेश चलाएं:
  • सुडो नैनो / होम / पीआई /.config / lxsession / lxde-pi / autostart
  • 8353066 7 शीर्षक वाली छवि
    3. दूसरी पंक्ति के अंत में नेविगेट करने के लिए तीर कुंजियों का उपयोग करें और दबाएं ↵ दर्ज करें. इससे ऊपर एक नई लाइन बनाई जाएगी @xscreensaver -नहीं-स्पलैश प्रवेश. कई उपयोगकर्ताओं ने बताया है कि इस लाइन के नीचे दिए गए कमांड सफलतापूर्वक नहीं चलते हैं इसलिए उपरोक्त अपने कस्टम कमांड जोड़ने के लिए यह सामान्य अभ्यास है @xscreensaver प्रवेश.
  • 8353066 8 शीर्षक वाली छवि
    4. अपनी स्क्रिप्ट लॉन्च करने के लिए एक कमांड जोड़ें. यह वह जगह है जहां आपके पास सबसे अधिक विकल्प हैं क्योंकि आप किसी भी टर्मिनल कमांड को दर्ज कर सकते हैं जिसे आप सामान्य रूप से अपनी स्क्रिप्ट लॉन्च करने के लिए उपयोग करेंगे. उदाहरण के लिए, एक बैश स्क्रिप्ट चलाने के लिए कहा जाता है "माईस्क्रिप्ट.श्री" जो उपयोगकर्ता की होम निर्देशिका में स्थित है "अनुकरणीय" कोई कमांड दर्ज करेगा: / होम / पीआई / मैसस्क्रिप्ट.श्री. इसी प्रकार, यदि स्क्रिप्ट को चलाने के लिए सुपरसुर अनुमतियों की आवश्यकता होती है तो आप कमांड के साथ भी प्रस्ताव दे सकते हैं सुडो.
  • 5. प्रत्येक फ़ाइल नाम में पूर्ण पथ शामिल करें. उदाहरण के लिए, एक अजगर स्क्रिप्ट चलाने के लिए जिसे सुपरयुसर अनुमतियों की आवश्यकता होती है "माईस्क्रिप्ट.py" जो उपयोगकर्ता की होम निर्देशिका में स्थित है "अनुकरणीय", आप पायथन स्क्रिप्ट दोनों और पायथन दुभाषिया दोनों के लिए पूर्ण पथ दर्ज करेंगे जैसे कि सुडो / यूएसआर / बिन / पायथन / होम / पीआई / मैसस्क्रिप्ट.py.
  • छवि 8353066 9 शीर्षक
    6. तय करें कि क्या आप स्टार्टअप पर एक नई टर्मिनल विंडो में अपनी स्क्रिप्ट चलाने की इच्छा रखते हैं. इसके लिए, आप इसका उपयोग कर सकते हैं @lxterminal के साथ कमांड -इ उद्धरण में आपकी लिपि के पूर्ण पथ के बाद संशोधक. उदाहरण के लिए:

    @lxterminal -e "/ होम / पीआई / मैसस्क्रिप्ट.श्री"

  • यह स्क्रिप्ट को एक नई टर्मिनल विंडो से निष्पादित करेगा.
  • 8353066 10 शीर्षक वाली छवि
    7. अपनी स्क्रिप्ट लॉन्च करने के लिए उचित आदेश दर्ज करें. एक बार प्रवेश किया, दबाएँ सीटीआरएल+एक्स, और फिर अपने परिवर्तनों को सहेजने के लिए ऑन-स्क्रीन निर्देशों का पालन करें.
  • यदि आप नहीं चाहते हैं कि आपकी स्क्रिप्ट अब स्टार्टअप पर चलें, तो बस एक बार फिर ऑटोस्टार्ट फ़ाइल को संपादित करें, केवल इस बार आपके द्वारा जोड़े गए लाइनों को हटा दें. एक बार जब आप सहेज लेंगे और बाहर निकलें, तो आपकी स्क्रिप्ट अब स्टार्टअप पर स्वचालित रूप से नहीं चल जाएगी.
  • 8353066 11 शीर्षक वाली छवि
    8. परीक्षण करने के लिए रिबूट. प्रयोग करें सुडो रिबूट अपने रास्पबेरी पीआई को रिबूट करने के लिए. यदि स्क्रिप्ट डिज़ाइन के रूप में काम करता है, तो यह लॉन्च करेगा एक विंडो प्रबंधक शुरू होता है.
  • सामाजिक नेटवर्क पर साझा करें:
    समान