स्टार्ट-अप पर स्क्रिप्ट निष्पादित करें


189

मैं एक स्क्रिप्ट निष्पादित करने की कोशिश कर रहा हूं जब मेरे रास्पबेरी पाई बूट करते हैं। मैं चाहूंगा कि वेब ब्राउज़र अपने आप खुल जाए।

मैंने एक सरल समाधान खोजने की कोशिश की है, (जैसे कुछ "स्टार्टअप" डायरेक्टरी या कुछ इसी तरह से मेरी स्क्रिप्ट को ड्राप करना) लेकिन मुझे ऐसा कुछ दिखाई नहीं दे रहा है।

मैंने अपस्टार्ट में देखा है , लेकिन मैं समझती हूं कि यह कैसे काम करता है। मैंने जितनी भी स्क्रिप्ट आज़माई हैं, मैंने जब उनका परीक्षण किया तो काम नहीं किया।


4
आप कौनसा ऑपरेटिंग सिस्टम चला रहे हैं? FreeBSD में, जिसका उपयोग मैं अपने Pi पर कर रहा हूं, आप स्टार्टअप स्क्रिप्ट को /usr/local/etc/rc.d/ पर जोड़ सकते हैं, या बस /etc/rc.local में चीजें जोड़ सकते हैं। अलग-अलग लिनक्स डिस्ट्रो के अलग-अलग अनुशंसित तरीके हैं। यदि आप इस पर X चला रहे हैं, तो आपको अपनी .xinitrcया .xsessionफ़ाइल में चीज़ें जोड़ने पर ध्यान देना चाहिए ।
घटि

X स्टार्टअप प्रक्रिया के बारे में अधिक जानकारी यहाँ पर पाई जा सकती है
घोटी

6
कृपया ध्यान दें कि यहां दिए गए उत्तर में कुछ प्रश्न हैं और विशिष्ट परिस्थितियों में तकनीकी रूप से बूट पर कुछ भी शुरू नहीं होता है। इसे ध्यान से पढ़ें।
गोल्डीलॉक्स

आप एक स्क्रिप्ट के लिए पूछ रहे हैं जो जब आप लॉग इन करते हैं, तब नहीं जब पी बूट या स्टार्ट-अप पर। दो बहुत अलग चीजें, और शीर्षक Google खोज परिणामों को तिरछा कर रहा है।
आईएएमएनएन

जवाबों:


197

स्टार्टअप पर मिडोरी चलाने के लिए, इस ट्यूटोरियल को देखें । DIY समाधान के लिए, पर पढ़ें।


आप अपनी स्क्रिप्ट को निष्पादन योग्य कमांड जोड़ सकते हैं, .bashrcजो आपकी स्क्रिप्ट को हर बार एक टर्मिनल खोलने (या एक नया उदाहरण चलाने bash) के नीचे चलाएगा

  1. सुनिश्चित करें कि आप piफ़ोल्डर में हैं:

    $ cd ~
    
  2. एक फ़ाइल बनाएँ और फ़ाइल में चलाने के लिए एक स्क्रिप्ट लिखें:

    $ sudo nano superscript
    
  3. सहेजें और बाहर निकलें: Ctrl+ X, Y,Enter

  4. .bashrcकॉन्फ़िगरेशन के लिए खोलें :

.bashrcहै नहीं स्क्रिप्ट चलाने के उद्देश्य।

यह हर बार चलाया जाता है जब एक गैर-लॉगिन इंटरैक्टिव शेल शुरू किया जाता है और शेल को कॉन्फ़िगर करने के लिए उपयोग किया जाता है।
~/.bashrc: executed by bash(1) for non-login shells

   $ sudo nano .bashrc
  1. नीचे तक स्क्रॉल करें और लाइन जोड़ें: ./superscript

  2. सहेजें और बाहर निकलें: Ctrl+ X, Y,Enter


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

  1. अपनी स्टार्टअप स्क्रिप्ट के लिए एक फ़ाइल बनाएं और फ़ाइल में अपनी स्क्रिप्ट लिखें:

    $ sudo nano /etc/init.d/superscript
    
  2. सहेजें और बाहर निकलें: Ctrl+ X, Y,Enter

  3. स्क्रिप्ट को निष्पादन योग्य बनाएं:

    $ sudo chmod 755 /etc/init.d/superscript
    
  4. स्टार्टअप पर चलाने के लिए स्क्रिप्ट रजिस्टर करें:

    $ sudo update-rc.d superscript defaults
    

यदि आप LXDE वातावरण में बूट करते समय स्क्रिप्ट चलाना चाहते हैं , तो आप इस रास्पबेरी पाई फोरम पोस्ट पर एक नज़र डाल सकते हैं :

  1. पर जाए ~/.config/lxsession/LXDE-pi

  2. autostartउस फ़ोल्डर में फ़ाइल खोलें :

    $ sudo nano autostart
    
  3. @midoriएक नई पंक्ति में जोड़ें । यदि आप एक अजगर स्क्रिप्ट की तरह कुछ चलाना चाहते हैं, तो @python mypython.pyएक नई लाइन पर कुछ डालें । स्क्रिप्ट फ़ाइल चलाना होगा @./superscript, लेकिन किसी कारण से स्क्रिप्ट अनंत लूप में चलती है (शायद यह बंद हो जाएगा)।

  4. सहेजें और बाहर निकलें: Ctrl+ X, Y,Enter

  5. LXDE वातावरण में अपने रास्पबेरी पाई को पुनरारंभ करें।


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

1
@ syb0rg यदि मैं ssh के माध्यम से लॉग इन करता हूं, तो लॉगिन भाग में रन एक आकर्षण (+1) की तरह काम करता है, लेकिन तब नहीं जब lxde डेस्कटॉप सत्र शुरू होता है। क्या ऐसा करने के लिए कोई रास्ता है ?
जॉर्ज प्रोफेंजा

@GeorgeProfenza आप कब करते हैं $ sudo startx?
syb0rg

2
बस यह इंगित करना चाहता था कि पाइथन स्क्रिप्ट चलेगी, लेकिन यदि कोई त्रुटियां हैं, तो यह पृष्ठभूमि में कहीं और होगा / etc / xdg / lxsession / LXDE / autostart पद्धति का उपयोग करके। .barshrc का उपयोग करने से त्रुटियां भी सामने आएंगी, लेकिन यह सुनिश्चित करना बहुत महत्वपूर्ण है कि स्क्रिप्ट पहले स्थान पर तंग है (पाया गया कि कठिन रास्ता :))
जॉर्ज प्रोफेंजा

7
.bashrcयह नहीं पढ़ा जाता है कि सिस्टम बूट कब होता है या जब कोई उपयोगकर्ता लॉग इन करता है , केवल एक नया टर्मिनल खोलने पर (और यह प्रत्येक बार जब उपयोगकर्ता एक नया टर्मिनल खोलता है) पढ़ा जाता है। मैं चकित हूं कि इस उत्तर को बहुत सारे उभार मिले: पहला भाग सादा गलत है । GUI प्रोग्राम को निष्पादित करने के लिए तीसरा भाग सही है।
जाइल्स

46

जिस तरह से मैंने ज्यादातर लोगों को ऐसा करते देखा है (रास्पबेरी पाई मंचों पर एक नज़र है), और खुद को सफलता के साथ किया है /etc/rc.local

यहां आपको केवल इतना करना है कि ./myscriptआप r.local टेक्स्ट फाइल में डाल दें । यदि यह अजगर में है, तो डालें python myscript.py

यह वस्तुतः "एक सरल समाधान है, (जैसे मेरी स्क्रिप्ट को कुछ" स्टार्टअप "निर्देशिका या कुछ इसी तरह से छोड़ देना)" - हो सकता है कि जब आप सवाल भी कर रहे हों तो मंचों पर खोज करें, यह समाधान पहले 4 परिणामों पर आया था गूगल खोज!


4
FYI करें r.local डिफ़ॉल्ट रूप से स्क्रिप्ट के बारे में कुछ भी नहीं कर रहा है और निष्पादन योग्य बिट्स को बदलने की जरूरत है। यह सच नहीं है बाहर निकलने से पहले अपनी स्क्रिप्ट के लिए कमांड दर्ज करें और यह स्टार्टअप पर चलेगा। सुनिश्चित करें कि आपकी स्क्रिप्ट पृष्ठभूमि में रनों से बाहर निकलती है या यह लॉगिन प्रॉम्प्ट को रोक देगी। हां, मैंने जो किया, वह है।
लूटने


क्या आप का अर्थ है कि वे स्क्रिप्ट को निष्पादन योग्य के रूप में सेट करने का सुझाव देते हैं? कमांड द्वारा स्क्रिप्ट चलाने से यह प्रश्न में कम हो जाता है python myscript.py। आप chmod करने के लिए + x यह और जोड़ना चाहते हैं #! /bin/python, तो आप ऐसा करके स्क्रिप्ट चला सकते हैं $pathtofile/myscript.pyजहां $pathtofileहै .अगर आप एक ही निर्देशिका या फ़ाइल के लिए पूर्ण या संबंधित पथ में हैं।
जेएफए

1
यह GUI प्रोग्राम जैसे ब्राउज़र के लिए अच्छा नहीं है। /etc/rc.localकेवल सिस्टम सेवाओं को शुरू करने के लिए है (प्रोग्राम जिसमें उपयोगकर्ता इंटरफ़ेस नहीं है)।
जाइल्स

1
@ ErickM.Sprengel इस धागे पर सही उत्तरों में से किसी एक का उपयोग करें, जैसे कि यह
गिल्स

32

इसे क्रॉस्टैब में जोड़ें

Crontab परिभाषित समय पर कमांड चलाता है।


फ़ाइल संपादित करें:

sudo crontab -e

फ़ाइल में लाइन जोड़ें (यहाँ एक अजगर स्क्रिप्ट):

@reboot python3 /home/pi/Desktop/exemple.py &

2
यहां थोड़ा सा नाइटपैकिंग होने के लिए, तकनीकी रूप से यह कमांडो नहीं चलाता है, लेकिन वैसे भी। जोड़ने के लिए सूचीबद्ध लाइन के संबंध में, यह (इस मामले में पूरा पथ को आदेश यहां परिभाषित के लिए पूर्ण पथ डाल करने के लिए सलाह दी जाती है python3), को देखने के लिए यहाँ
Ghanima

यह वह विधि है जिसका उपयोग मैंने हमेशा सादगी के कारण किया है। +1
पैट्रिक कुक

यह GUI प्रोग्राम जैसे ब्राउज़र के लिए अच्छा नहीं है। /etc/rc.localकेवल उन प्रोग्रामों को शुरू करना है जिनमें उपयोगकर्ता इंटरफ़ेस नहीं है।
जाइल्स

2
बहुत अधिक समय तक इसे खर्च करने की कोशिश करने के बाद, इसे rc.local और init.d के साथ काम करना और अन्य सामानों के सभी प्रकार .. यह सीधे काम किया! बहुत - बहुत धन्यवाद!
पियोत्र कुला

4
यह आरपीआई ओएस
डेनिस

11

ऑटगार्टिंग xorg ऐप्स

यदि आप जिस स्क्रिप्ट को शुरू करना चाहते हैं, उसके लिए एक एक्सगॉर सत्र की आवश्यकता होती है, तो आप फ़्रीडेस्कोटॉप ऑटोस्टार्ट कल्पना का पालन ​​करने की कोशिश कर सकते हैं जो आपके द्वारा उपयोग किए जा रहे डेस्कटॉप वातावरण के आधार पर काम कर सकती है या नहीं भी हो सकती है।

वैकल्पिक रूप से, आप https://wiki.archlinux.org/index.php/autostarting में वर्णित अपने विशिष्ट डेस्कटॉप वातावरण को लक्षित कर सकते हैं ।

एक स्क्रिप्ट को एक सिस्टमड सर्विस के रूप में चलाना

अपनी स्क्रिप्ट एक डेमॉन या 'सेवा' का वर्णन फिट बैठता है, और अपने सिस्टम चल रहा है systemd जो raspbian और सबसे आधुनिक linuces के लिए मामला है, तो आप एक systemd सेवा के रूप में चलाने के लिए अपनी स्क्रिप्ट कॉन्फ़िगर कर सकते हैं - इस बारीक नियंत्रण अपने हाथ में प्रदान करता है जीवनचक्र और निष्पादन पर्यावरण, साथ ही स्क्रिप्ट को शुरू करने (पुनः) के लिए पूर्व शर्त के साथ, जैसे कि नेटवर्क ऊपर और चल रहा है। विफलता के मामले में सेवा पुनरारंभ को कॉन्फ़िगर करना भी संभव है ( Restart=alwaysऔर, पुनरारंभ करने के बीच देरी जैसे RestartSec=10)।

सिस्टम-वाइड उपयोग के लिए /etc/systemd/system, उदाहरण के लिए , अपने सिस्टमड यूनिट फ़ाइल को vim /etc/systemd/system/autossh.serviceनिम्न के साथ बनाएँ :

[Unit]
Description=Autossh keepalive daemon
## make sure we only start the service after network is up
Wants=network-online.target
After=network.target

[Service]
## use 'Type=forking' if the service backgrounds itself
## other values are Type=simple (default) and Type=oneshot
Type=forking
## here we can set custom environment variables
Environment=AUTOSSH_GATETIME=0
Environment=AUTOSSH_PORT=0
ExecStart=/usr/local/bin/ssh-keep-alive.sh
ExecStop=/usr/bin/killall -9 autossh
### NOTE: you can have multiple `ExecStop` lines
ExecStop=/usr/bin/killall ssh
# don't use 'nobody' if your script needs to access user files
# (if User is not set the service will run as root)
#User=nobody

# Useful during debugging; remove it once the service is working
StandardOutput=console

[Install]
WantedBy=multi-user.target

यह सभी देखें:

अब हम सेवा का परीक्षण करने के लिए तैयार हैं:

systemctl start autossh

सेवा की स्थिति की जाँच:

systemctl status autossh

सेवा को रोकना:

systemctl stop autossh

एक बार जब आप यह सत्यापित कर लेते हैं कि सेवा अपेक्षित रूप से काम करती है तो इसे सक्षम करें:

systemctl enable autossh

नोट: सुरक्षा उद्देश्यों के systemdलिए स्क्रिप्ट को प्रतिबंधित वातावरण में चलाया जाएगा, स्क्रिप्ट कैसे crontabचलाए जाते हैं, इसलिए पहले से मौजूद सिस्टम चर के बारे में कोई धारणा नहीं बनाते हैं। Environmentयदि आपकी स्क्रिप्ट को परिभाषित करने के लिए विशिष्ट चर की आवश्यकता है, तो कुंजियों का उपयोग करें । set -xअपनी बैश स्क्रिप्ट में सबसे ऊपर जोड़ना और फिर दौड़ना systemctl status my_serviceयह पहचानने में मदद कर सकता है कि आपकी स्क्रिप्ट क्यों विफल हो रही है। एक नियम के रूप में, हमेशा सहित echoऔर सब कुछ के लिए पूर्ण पथ का उपयोग करें cat, या स्पष्ट रूप से अपने $ पथ को परिभाषित करें।


7

मैं अपने दो सेंट में फेंकना चाहता हूं, भले ही यह एक पुराना सवाल है, लेकिन आमतौर पर सरल काम करने के लिए कहा जाता है - ऑटोस्टार्ट। मैंने इस प्रश्न के सभी उत्तरों में सभी सुझाए गए समाधानों की कोशिश की। उनमें से किसी ने मेरे लिए काम नहीं किया। मैं रास्पबेरी के साथ रास्पबेरी पीआई मॉडल 2 का उपयोग कर रहा हूं।

जिस तरह से मैं अपने आवेदन को सफलतापूर्वक ऑटोस्टार्ट में प्राप्त कर सका, वह एक स्क्रिप्ट के माध्यम से निम्नानुसार है। मैं सफलतापूर्वक कहता हूं क्योंकि मेरा आवेदन बिना किसी समस्या के गलत कार्य पथ से शुरू होने के बिना अपेक्षित था।

1. एक्सटेंशन के साथ एक खाली फ़ाइल बनाएँ .sh और जो भी आप चाहते हैं उसे नाम दें।

2. कोपी और पेस्ट करें केवल आपके द्वारा बनाए गए स्क्रिप्ट नाम में "आपके एप्लिकेशन नाम" को बदलने के अलावा।

 #! /bin/sh

 ### BEGIN INIT INFO
 # Provides:          noip
 # Required-Start:    $remote_fs $syslog
 # Required-Stop:     $remote_fs $syslog
 # Default-Start:     2 3 4 5
 # Default-Stop:      0 1 6
 # Short-Description: Simple script to start a program at boot
 ### END INIT INFO

 #change /direct/path/to/your/application to the path your application is in.
 cd /direct/path/to/your/application      # example cd /home/pi/myprogram/

 #change YourProgramExactName to Exact name of your program that you want to auto start
 ./YourProgramExactName

 exit 0 
  1. फिर, अपने एप्लिकेशन फ़ोल्डर में स्क्रिप्ट फ़ाइल सहेजें

  2. फिर, /home/pi/.config/autostartफ़ोल्डर खोलें । यह आपके मामले में भिन्न हो सकता है। बस अपना होम फोल्डर खोलें और छिपे फोल्डर को देखने में सक्षम करें। खुला है .config/autostart। यदि आपको ऑटोस्टार्ट फ़ोल्डर नहीं दिखता है, तो .config फ़ोल्डर के भीतर ऑटोस्टार्ट नामक एक फ़ोल्डर बनाएँ।

  3. ऑटोस्टार्ट फ़ोल्डर के भीतर आपको अपनी स्क्रिप्ट फ़ाइल के लिए एक शॉर्टकट बनाने की आवश्यकता होगी जिसे आपने निम्न प्रकार से बनाया है। एक्सटेंशन के साथ एक खाली फ़ाइल बनाएँ .desktop

  4. कॉपी और खाली डेस्कटॉप फ़ाइल में निम्न पेस्ट को छोड़कर आप को बदलना होगा Comment, Name, Exec, Pathऔर Iconफ़ील्ड का मान।

    [Desktop Entry]
    Comment=
    Exec=/path/to/Your/application/Name-of-the-script-file (.sh)
    Icon=/Path/to/Your/application/Icon/IconName
    Name=YourApplicationEXACTNAME
    Path=/Path/to/Your/Application-ONLY
    Type=Application
    
  5. सभी आवश्यक फ़ील्ड को बदलने के बाद फ़ाइल को सहेजें और बंद करें। आप कर चुके हैं। बस इसका परीक्षण करें।


तकनीकी रूप से यह स्क्रिप्ट विशिष्ट उपयोगकर्ता के बजाय सिस्टम द्वारा चलाई जाती है - इसलिए शायद आपका आवेदन बेहतर है /usr/local/bin/ApplicationName...?
स्लीवन

@SlySven "सिस्टम" एक विशिष्ट उपयोगकर्ता है।
सीमित प्रायश्चित

क्या इसे रूट (UID = 0) या pi उपयोगकर्ता (UID ~ 500 या 1000 IIRC) के रूप में चलाया जाता है - यदि इसे रूट या किसी अन्य सिस्टम UID (500 से कम) के रूप में चलाया जाता है, तो यह स्क्रिप्ट फ़ाइल को संग्रहीत करने के लिए पारंपरिक रूप से अच्छा अभ्यास है ( या ऐसा कोई भी जो रूट डिवाइस पर निर्भर करता है) ताकि किसी अन्य डिवाइस के साथ कोई समस्या हो (जैसे homeकि एक अलग डिवाइस है) स्क्रिप्ट के साथ कोई समस्या नहीं होगी (या एक निष्पादन योग्य) फाइल अनुपलब्ध होने पर सिस्टम एकल उपयोगकर्ता /bin/shशेल में वापस विफल रहता है ! आजकल systemdरास्ता दोनों को माउंट करने से पहले /और /usrपीआईडी ​​1 शुरू होने से पहले है ...
स्लीवन

5

मुझे भी इससे परेशानी हुई। रास्पबेरी Pi3 रनिंग रास्पियन पर यह वही है जो मैंने किया था:

  1. अपनी रूट डायरेक्टरी में एक स्टार्टअप शेल स्क्रिप्ट बनाएं (मेरा नाम "लॉन्च" है):

सुडोल लीफपैड लॉन्च। एस

  1. फ़ाइल सहेजें
  2. LXDE-pi ऑटोस्टार्ट फ़ाइल संपादित करें

सूडो लीफपैड / हॉम / ६/.कॉन्फिग / लक्सशन / एलएक्सडीई -इपी / डिपोस्टार्ट

  1. इसे उस फ़ाइल के निचले भाग में जोड़ें

./launch.sh

  1. रिबूट

3

रास्पबेरी Pi3 रनिंग रास्पियन खिंचाव पर यह वही है जो मैंने किया था:

LXDE-pi ऑटोस्टार्ट फ़ाइल संपादित करें

    sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

इसे उस फ़ाइल के निचले भाग में जोड़ें

    @sudo python3 /path/to/your/script.py

सहेजें और रिबूट करें


1

विधि 1:

लॉगिन पर स्वचालित रूप से एक कमांड लॉन्च करने के लिए, कमांड को एक फ़ाइल में रखें

.bashrc

उपयोगकर्ता निर्देशिका में (उदाहरण के लिए / घर / पीआई)

.bashrcहै नहीं स्क्रिप्ट चलाने के उद्देश्य।

यह हर बार चलाया जाता है जब एक गैर-लॉगिन इंटरैक्टिव शेल शुरू किया जाता है और शेल को कॉन्फ़िगर करने के लिए उपयोग किया जाता है।
~/.bashrc: executed by bash(1) for non-login shells

उदाहरण के लिए, फ़ाइल में हो सकता है

chromium-browser --kiosk www.google.com

क्रोमियम को पूर्ण-स्क्रीन पर लॉन्च करने के लिए www.google.com पर बताया गया


विधि 2:

यह समाधान वास्तव में अच्छी तरह से काम करता है। एक बार जब ब्राउज़र लोड हो जाता है तो स्क्रीन के ऊपर बाईं ओर एक छोटा सा काला वर्ग होता है जो एक सामान्य बग (इसका दूसरों द्वारा मंचों पर उल्लेख किया गया) प्रतीत होता है, लेकिन अन्यथा पूर्णस्क्रीन मोड ब्राउज़र पृष्ठ को छोड़कर सब कुछ छुपाता है।

ऑटोस्टार्ट फ़ाइल संपादित करें:

sudo nano /etc/xdg/lxsession/LXDE/autostart 

प्रत्येक पंक्ति के प्रारंभ में '#' का उपयोग करके सब कुछ टिप्पणी करें और फिर निम्नलिखित पंक्तियाँ जोड़ें

ऑटो ब्राउज़र चलाएं

@xset s off
@xset -dpms
@xset s noblank
@midori -e Fullscreen -a http://google.com

यदि आवश्यक हो तो पावरअप पर GUI के ऑटो को सक्षम करने के लिए कॉन्फ़िगरेशन टूल का उपयोग करें

sudo raspi-config

यदि आपको कमांड प्रॉम्प्ट CTRL+ ALT+ से बाहर निकलने की आवश्यकता है F1

CTRL+ ALT+F2


0

आप /etc/profileफ़ाइल के नीचे अपनी स्क्रिप्ट रख सकते हैं ।

अन्य विकल्प मेरे लिए काम नहीं करते थे, लेकिन यह शायद इसलिए है क्योंकि मैंने अपनी स्क्रिप्ट को डेस्कटॉप पर रखा था।


0

'pshthon /path/to/your/script.py' टाइप करें 'sudo nano /etc/rc.local' कमांड के साथ -sh फ़ाइल बनाएं और .sh के लिए पथ टाइप करें।

इससे पहले

exit 0

या आप बस टाइप कर सकते हैं

crontab -e

या

sudo crontab -e 

यदि आप स्क्रिप्ट को स्टार्टअप पर चलाना चाहते हैं

फ़ाइल प्रकार के अंदर

@reboot python /path/to/your/script.py &

2
Crontab प्रविष्टियों के लिए पूर्ण पथ का उपयोग दृढ़ता से प्रोत्साहित किया जाता है!
Ghanima

-2

यह काम करता है। (प्रत्येक री-बूट पर यह निम्नलिखित सबमिशन स्वचालित रूप से तैयार करता है)

$ cat /etc/rc.local
#!/bin/sh -e
echo "18" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio18/direction
echo "1" > /sys/class/gpio/gpio18/value
exit 0

-2

यह वही है जो मैं आमतौर पर करता हूं।

  1. रास्पबेरी पाई होम निर्देशिका में अपनी फ़ाइल स्टोर करें। जैसे: mycode.py
  2. फ़ाइल संपादित करें:

    sudo nano .bashrc

.bashrcहै नहीं स्क्रिप्ट चलाने के उद्देश्य।

यह हर बार चलाया जाता है जब एक गैर-लॉगिन इंटरैक्टिव शेल शुरू किया जाता है और शेल को कॉन्फ़िगर करने के लिए उपयोग किया जाता है।
~/.bashrc: executed by bash(1) for non-login shells

  1. फ़ाइल के अंत में जाएं और लिखें:

    sudo python mycode.py

  2. यदि आप चाहते हैं कि आउटपुट को txt फ़ाइल में संग्रहीत किया जाए, तो चरण 3 में कोड को निम्नानुसार संपादित करें:

    sudo python mycode.py >> output.py

उम्मीद है की यह मदद करेगा!

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