শুরুতে স্ক্রিপ্ট কার্যকর করুন Exec


189

আমার রাস্পবেরি পাই বুট হয়ে গেলে আমি একটি স্ক্রিপ্ট কার্যকর করার চেষ্টা করছি। আমি ওয়েব ব্রাউজারটি স্বয়ংক্রিয়ভাবে খুলতে চাই।

আমি একটি সহজ সমাধান অনুসন্ধান করার চেষ্টা করেছি, (যেমন কোনও "স্টার্টআপ" ডিরেক্টরিতে আমার স্ক্রিপ্টটি ফেলে দেওয়া বা অনুরূপ কিছু) তবে আমি এর মতো কিছুই দেখছি না।

আমি আপস্টার্টে সন্ধান করেছি , কিন্তু আমি কীভাবে এটি কাজ করে তা উপলব্ধি করার জন্য সংগ্রাম করছি। আমি যে কোনও স্ক্রিপ্টগুলি চেষ্টা করেছি সেগুলি পরীক্ষার সময় কার্যকর হয়নি।


4
আপনি কোন অপারেটিং সিস্টেম চালাচ্ছেন? ফ্রিবিএসডি-তে, যা আমি আমার পাই ব্যবহার করছি, আপনি /usr/local/etc/rc.d/ এ স্টার্টআপ স্ক্রিপ্টগুলি যুক্ত করতে পারেন, বা কেবল /etc/rc.local এ জিনিস যুক্ত করতে পারেন। বিভিন্ন লিনাক্স ডিস্ট্রোসের বিভিন্ন প্রস্তাবিত পদ্ধতি রয়েছে। যদি আপনি এটিতে এক্স চালিয়ে যাচ্ছেন তবে আপনার .xinitrcবা .xsessionফাইলটিতে জিনিস যুক্ত করা উচিত into
ঘোটি

এক্স স্টার্টআপ প্রক্রিয়া সম্পর্কে আরও তথ্য এখানে পাওয়া যাবে
ঘোটি

6
দয়া করে নোট করুন এখানে গৃহীত উত্তরে কিছুটা সতর্কতা রয়েছে এবং প্রযুক্তিগতভাবে নির্দিষ্ট শর্ত ব্যতীত বুটে কিছুই শুরু হয় না । মনোযোগ দিয়ে পড়ুন।
স্বর্ণলোকস

আপনি এমন স্ক্রিপ্টের জন্য জিজ্ঞাসা করছেন যা লগ ইন করার সময় চলবে, পাই বুট করার সময় বা শুরু করার সময় নয়। দুটি খুব ভিন্ন জিনিস, এবং শিরোনাম গুগল অনুসন্ধান ফলাফল skew হয়।
IAmNaN

উত্তর:


197

শুরুতে মিডোরি চালানোর জন্য, এই টিউটোরিয়ালটি একবার দেখুন । ডিআইওয়াই সমাধানের জন্য, পড়ুন।


আপনি তার স্ক্রিপ্ট এক্সিকিউটেবল কমান্ডটি এর নীচে যুক্ত .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
    

আপনি যখন এলএক্সডিইডি পরিবেশে বুট করার সময় আপনি কোনও স্ক্রিপ্ট চালু করতে চান , আপনি এই রাস্পবেরি পাই ফোরাম পোস্টটি একবার দেখে নিতে পারেন :

  1. নেভিগেট করুন ~/.config/lxsession/LXDE-pi

  2. autostartসেই ফোল্ডারে ফাইলটি খুলুন :

    $ sudo nano autostart
    
  3. যোগ @midoriএকটি নতুন লাইন। আপনি যদি অজগর স্ক্রিপ্টের মতো কিছু চালাতে চান তবে @python mypython.pyনতুন লাইনে কিছু রাখুন। স্ক্রিপ্ট ফাইল চালানো হবে @./superscript, তবে কোনও কারণে স্ক্রিপ্টটি অসীম লুপে চলে (সম্ভবত এটি থামবে)।

  4. সংরক্ষণ করুন এবং প্রস্থান: Ctrl+ + X, Y,Enter

  5. আপনার রাস্পবেরি পাইটি এলএক্সডিই পরিবেশে পুনরায় চালু করুন।


স্টার্টআপে মিডোরি সেট আপ করার টিউটোরিয়ালটি ঠিক আমি যা খুঁজছিলাম was এত সহজ কাজ করার জন্য কেন অনেক উপায় আছে তা নিশ্চিত নন, তবে আমি এখন খুশী যে এটি এখন কাজ করছে।
টাইলার মারি

1
@ syb0rg আমি লগইন ডেস্কটপ সেশন শুরু হওয়ার পরে নয়, তবে লগইন অংশে রান রান্নাঘরের মতো কাজ করে (+1)। এটা করার কোন উপায় আছে?
জর্জ প্রোফেনজা

@ জর্জিপ্রোফেনজা আপনি কখন করেন $ sudo startx?
syb0rg

2
পাইথন স্ক্রিপ্টটি চলবে তা কেবল উল্লেখ করতে চেয়েছিলাম, তবে কোনও ত্রুটি থাকলে, এটি / etc / xdg / lxsession / LXDE / অটোস্টার্ট পদ্ধতিটি ব্যবহার করে পটভূমিতে কোথাও উপস্থিত হবে। .barshrc ব্যবহার করে ত্রুটিগুলিও প্রকাশিত হবে, তবে স্ক্রিপ্টটি প্রথম স্থানে আঁটসাঁট হয়ে গেছে তা নিশ্চিত করা সত্যিই গুরুত্বপূর্ণ (এটি হার্ড পথ খুঁজে পেয়েছে :))
জর্জ প্রোফেনজা

7
.bashrcসিস্টেমটি বুট করার সময় বা কোনও ব্যবহারকারী যখন নতুন টার্মিনালটি খোলার সময় লগ ইন করে তখনই পড়তে হয় না (এবং এটি প্রতিবার ব্যবহারকারী নতুন টার্মিনালটি খোলার সময় পড়ে থাকে)। আমি অবাক হয়েছি যে এই উত্তরটি এতগুলি উত্সাহ পেয়েছে: প্রথম অংশটি সম্পূর্ণ ভুল । তৃতীয় অংশটি একটি জিইউআই প্রোগ্রাম চালানোর জন্য সঠিক।
গিলস

46

আমি বেশিরভাগ লোককে যেভাবে দেখেছি তা করে (রাস্পবেরি পাই ফোরামগুলি দেখুন) এবং সাফল্যের সাথে নিজেকে তৈরি করেছি ব্যবহার করছে /etc/rc.local

আপনাকে এখানে যা করতে হবে তা সব ./myscriptrc.local পাঠ্য ফাইলে রাখা হয়েছে। এটি অজগর যদি, রাখুন python myscript.py

এটি আক্ষরিক অর্থে "একটি সহজ সমাধান, (যেমন কিছু" স্টার্টআপ "ডিরেক্টরিতে আমার স্ক্রিপ্টটি ফেলে দেওয়ার মতো বা অন্য কিছু)" - ফোরামগুলি অনুসন্ধান করুন যখন আপনারও প্রশ্ন থাকবে তখন এই সমাধানটি প্রথমটির 4 টি ফলাফলের উপরে উঠে আসে Google অনুসন্ধান!


4
এফওয়াইআই rc.local ডিফল্টরূপে স্ক্রিপ্টটি সম্পর্কে কিছুই না করে এবং এক্সিকিউটেবল বিট পরিবর্তনের প্রয়োজন সম্পর্কে বিভিন্ন মন্তব্য রয়েছে। এটি ঠিক নয় যে প্রস্থানটি 0 থেকে বেরিয়ে আসার আগে আপনার স্ক্রিপ্টের জন্য কমান্ডটি প্রবেশ করান এবং এটি প্রারম্ভকালে চলবে। নিশ্চিত হয়ে নিন যে আপনার স্ক্রিপ্টটি ব্যাকগ্রাউন্ডে চলেছে বা এটি লগইন প্রম্পটটিকে অবরুদ্ধ করবে। হ্যাঁ, আমি কী করেছি
ছিনিয়ে নিন


@rob আপনার অর্থ কি তারা স্ক্রিপ্টটিকে নির্বাহযোগ্য হিসাবে সেট করার পরামর্শ দেয়? কমান্ড দ্বারা স্ক্রিপ্ট চালিয়ে প্রশ্নটিতে এটি প্রশমিত করা হয় python myscript.py। আপনি chmod করতে + X এটি এবং যোগ চান #! /bin/python, আপনি করে স্ক্রিপ্টটি রান করতে পারেন $pathtofile/myscript.pyযেখানে $pathtofileহয় .যদি আপনি একই ডিরেক্টরির বা ফাইলে পূর্ণ অথবা আপেক্ষিক পাথ আছেন।
JFA

1
ব্রাউজারের মতো জিইউআই প্রোগ্রামের পক্ষে এটি ভাল নয়। /etc/rc.localকেবলমাত্র সিস্টেম পরিষেবাগুলি চালু করার জন্য (এমন প্রোগ্রামগুলি যার কোনও ব্যবহারকারী ইন্টারফেস নেই)।
গিলস

1
@ ErickM.Sprengel ব্যবহারের যেমন এই থ্রেডে সঠিক উত্তর, এক এই এক
গিলস

32

এটি ক্রোনটবে যুক্ত করুন

Crontab নির্ধারিত সময়ে কমান্ড চালায়।


ফাইলটি সম্পাদনা করুন:

sudo crontab -e

ফাইলটিতে লাইন যুক্ত করুন (এখানে একটি পাইথন স্ক্রিপ্ট):

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

2
এখানে একটু নিটপিকিং হওয়ার জন্য, প্রযুক্তিগতভাবে এটি ক্রোনটব নয় যা কমান্ডটি চালায়, তবে যাই হোক। যোগ করার জন্য তালিকাভুক্ত রেখাটি সম্পর্কে, এখানে নির্দেশিত নির্দেশাবলীর জন্য পুরো পথ রাখার পরামর্শ দেওয়া হয়েছে (এই ক্ষেত্রে পুরো পথটি python3), এখানে দেখুন
ঘনিমা

এটি সর্বদা সরলতার কারণে আমি সর্বদা ব্যবহার করেছি। +1
প্যাট্রিক কুক

ব্রাউজারের মতো জিইউআই প্রোগ্রামের পক্ষে এটি ভাল নয়। /etc/rc.localকেবলমাত্র এমন প্রোগ্রামগুলি শুরু করতে হয় যার কোনও ইউজার ইন্টারফেস নেই।
গিলস

2
বেশিরভাগ সময় ব্যয় করার পরে এটি rc.local এবং init.d এবং অন্যান্য ধরণের অন্যান্য স্টাফ দিয়ে কাজ করার চেষ্টা করে .. এটি সরাসরি কাজ করেছে! বরাদ্দ ধন্যবাদ!
পাইটর কুলা

4
এটি আরপিআই ওএস
ডেনিস

11

এক্সোরগ অ্যাপ্লিকেশনগুলি স্বতঃআরচনা করা হচ্ছে

আপনি যে স্ক্রিপ্টটি শুরু করতে চান এটিতে যদি জর্র্গ সেশনের প্রয়োজন হয় তবে আপনি ফ্রিডেস্কটপ অটোস্টার্ট অনুমানের অনুসরণের চেষ্টা করতে পারেন যা আপনি কোন ডেস্কটপ পরিবেশ ব্যবহার করছেন তার উপর নির্ভর করে কাজ করতে পারে বা নাও পারে।

বিকল্পভাবে, আপনি 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বা আপনার স্পষ্টভাবে আপনার AT PATH সংজ্ঞায়িত করুন।


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. কপি করুন এবং খালি desktop ফাইলের মধ্যে নিম্নলিখিত পেস্ট ছাড়া আপনি পরিবর্তন করতে হবে 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. সমস্ত প্রয়োজনীয় ক্ষেত্র পরিবর্তন করার পরে ফাইলটি সংরক্ষণ এবং বন্ধ করুন। তুমি পেরেছ. শুধু এটি পরীক্ষা করে দেখুন।

    • দ্রষ্টব্য: এটি স্ক্রিপ্টটি দেবিয়ান এলএসবিআইনিটকে অনুগত করে: https://wiki.debian.org/LSBInitScriptts

প্রযুক্তিগতভাবে এই স্ক্রিপ্টটি কোনও নির্দিষ্ট ব্যবহারকারীর চেয়ে সিস্টেম দ্বারা চালিত হয় - সুতরাং সম্ভবত আপনার অ্যাপ্লিকেশনটি আরও ভালভাবে অন্তর্ভুক্ত /usr/local/bin/ApplicationName...?
স্লাইসভেন

@ স্লাইসভেন "সিস্টেম" একটি নির্দিষ্ট ব্যবহারকারী।
সীমানা প্রায়শ্চিত্ত

এটি কি রুট (ইউআইডি = 0) বা পাই ব্যবহারকারী (ইউআইডি ~ 500 বা 1000 আইআইআরসি) হিসাবে চালিত হয় - যদি এটি রুট হিসাবে চালানো হয় বা অন্য কোনও সিস্টেম ইউআইডি (500 এরও কম) তবে স্ক্রিপ্ট ফাইলটি সংরক্ষণ করার জন্য এটি traditionতিহ্যগতভাবে ভাল অভ্যাস ( বা এটির উপর নির্ভর করে যে কোনও এটি) মূল ডিভাইসে তাই যাতে অন্য কোনও ডিভাইসে সমস্যা হওয়া উচিত (যেমন homeযদি এটি আলাদা ডিভাইস হয়) তখন স্ক্রিপ্ট (বা একটি এক্সিকিউটেবল) ফাইল অনুপলব্ধ থাকায় সমস্যা হবে না যখন সিস্টেমটি একক ব্যবহারকারীর /bin/shশেলের কাছে ফিরে যায় ! আজকাল systemdউপায় হ'ল উভয়কে মাউন্ট করতে হবে /এবং /usrপিআইডি 1 শুরু হওয়ার আগে ...
স্লাইভেন

5

এ নিয়ে আমারও সমস্যা ছিল। রাস্পবেরি পাই 3 চলমান রাস্পবিয়ান এ আমি এটি করলাম:

  1. আপনার মূল ডিরেক্টরিতে একটি স্টার্টআপ শেল স্ক্রিপ্ট তৈরি করুন (আমি আমার নাম "লঞ্চ" করেছি):

sudo লিফপ্যাড লঞ্চ.শ

  1. ফাইলটি সংরক্ষণ করুন
  2. LXDE-pi অটোস্টার্ট ফাইলটি সম্পাদনা করুন

সুডো লিফপ্যাড / হোম / পিআই / কনফিগ / এলএক্সেসিওন / এলএক্সডি- পিআই / অটোস্টার্ট

  1. এটিকে সেই ফাইলের নীচে যুক্ত করুন

./launch.sh

  1. পুনরায় বুট করার

3

রাস্পবেরি পাই 3 চলমান রাস্পবিয়ান স্ট্রেচটিতে আমি এটি করেছি:

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

প্রয়োজনে পাওয়ারআপে জিইউআই-এর স্বয়ংক্রিয় চলমান সক্ষম করতে কনফিগারেশন সরঞ্জামটি ব্যবহার করুন

sudo raspi-config

আপনি কমান্ড প্রম্পটে ফিরে প্রস্থান করার প্রয়োজন হলে CTRL+ + ALT+ +F1

CTRL+ ALT+F2


0

আপনি আপনার স্ক্রিপ্টটি /etc/profileফাইলের নীচে রাখতে পারেন ।

অন্যান্য বিকল্পগুলি আমার পক্ষে কার্যকর হয়নি, তবে এটি সম্ভবত কারণ আমি আমার স্ক্রিপ্টটি ডেস্কটপে রেখেছি।


0

'পাইথন /পাথ / টো / ইয়োর/script.py' কমান্ডের সাহায্যে একটি .sh ফাইল তৈরি করুন এবং .sh ফাইলের পাথ টাইপ করুন

আগে

exit 0

অথবা আপনি শুধু টাইপ করতে পারে

crontab -e

অথবা

sudo crontab -e 

আপনি যদি স্ক্রিপ্টটি শুরুতে চালিত করতে চান

ভিতরে ফাইল টাইপ

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

2
ব্যবহারের পূর্ণ পাথ জোরালোভাবে নিম্নলিখিতরূপে crontab পরিবর্তন এন্ট্রি জন্য উত্সাহ দেওয়া হয়!
hanনিমা

-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. আপনার ফাইলটি রাস্পবেরি পাই হোম ডিরেক্টরিতে সঞ্চয় করুন। যেমন: মাইকোড.পি
  2. ফাইলটি সম্পাদনা করুন:

    sudo nano .bashrc

.bashrcহয় না স্ক্রিপ্ট চালানোর উদ্দেশ্যে।

এটি প্রতিবার একটি লগ-ইন না করা ইন্টারেক্টিভ শেলটি চালু হওয়ার পরে শেলটি কনফিগার করার জন্য ব্যবহৃত হয়।
~/.bashrc: executed by bash(1) for non-login shells

  1. ফাইলের শেষে যান এবং লিখুন:

    sudo python mycode.py

  2. আপনি যদি আউটপুটটি কোনও টেক্সট ফাইলে সংরক্ষণ করতে চান তবে পদক্ষেপ 3 তে কোডটি সম্পাদনা করুন:

    sudo python mycode.py >> output.py

আশাকরি এটা সাহায্য করবে!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.