Raspberry Piは、さまざまな形とサイズで提供される小型で費用効果の高いコンピューターであり、コーディング方法の学習から複雑なホームオートメーションプロジェクトまで、さまざまなアプリケーションを容易にします。使用範囲は無限です。
Raspberry Piを非常に用途の広いものにする多くの機能の1つは、通常のコンピューターと同じように、あらゆる種類のプログラムを実行できることです。実際、それだけでなく、自分が考えている目的に合わせて独自のスクリプトを作成し、Piで実行することもできます。
なぜ起動時にプログラムを実行したいのですか?
Raspberry Piはあらゆる種類のプログラムを実行できますが、実行するたびにこれらのプログラムを手動で実行する必要があります。明らかに、このアプローチには追加のステップが含まれます。また、それほど不便ではありませんが、RaspberryPiの起動直後にプログラムを実行する必要がある場合があります。
たとえば、Raspberry Piを使用して株価を監視することを想像してみてください。ここでは、Piの起動時にスクリプトを毎日実行し、事前定義されたリソースから情報を取得してディスプレイに表示します。
ここでは、株価の追跡プロセスが合理化されているにもかかわらず、スクリプトを毎日実行する必要があります。ただし、自動化のおかげで、起動時にPiにスクリプトを自動的に実行させることで、方程式から手動入力を排除することができます。
起動時にプログラムを実行したい場合は、このような状況に対応します。
起動時にプログラムを実行する方法
RaspberryPiで起動時にプログラムを実行する方法はいくつかあります。ただし、このガイドでは、これらの効果的でわかりやすい方法のうち3つを使用する方法を学習します。
ノート: これらのメソッドを使用して、 Pythonスクリプト 、およびRaspberryPiの任意のスクリプトまたはオンボードプログラムでそれを行うことができます。プログラムを実行するために正しい方法を使用していることを確認してください。
友達と遊ぶマインドゲーム
1.rc.localファイルを使用します
rc.localは、すべてのシステムサービスが開始された後、つまりマルチユーザー実行レベルに切り替えた後に実行されるシステム管理ファイルです。 Linuxシステムで起動時にプログラムを実行するのが最も簡単な方法です。ただし、注意点があります。このメソッドは、GUI(グラフィカルユーザーインターフェイス)要素のないプログラムにのみ使用できます。これは、rc.localがRaspberryPiのウィンドウシステムが起動する前に実行されるためです。
続きを読む:GUIとは何ですか?
起動時に実行するようにプログラムを設定するには、rc.localファイルを変更し、それにコマンドを追加する必要があります。その方法は次のとおりです。
- ターミナルを開き、次のコマンドを入力してrc.localファイルを開きます。 sudo nano /etc/rc.local 。
- rc.localファイルで、「exit0」行の前に次のコード行を入力します。 python3 /home/pi/PiCounter/display.py& 。
- ここで、置き換えます PiCounter / display.py あなたのプログラム/スクリプト名で。また、相対パスではなく、プログラムへの絶対パスを使用していることを確認してください。
- その後、ヒット CTRL + O ファイルを保存します。
- ターミナルで、 sudoリブート 。
(コマンドがアンパサンド(&)記号で終了することに注意してください。これは、スケジュールしているプログラムが継続的に実行されていることをシステムに通知するため、スクリプトが終了するのを待ってからブートシーケンスを開始する必要があります。失敗することに注意してください。コマンドにアンパサンドを追加すると、スクリプトが永久に実行され、Piが起動することはありません。)
Piが起動すると、プログラムが自動的に実行されます。何らかの理由で、起動時にプログラムの実行を停止したい場合は、rc.localファイルを再度編集して、追加した行を削除します。
2.Cronを使用してプログラムをスケジュールします
Cronは、Unixライクなシステムでの設定およびジョブスケジューラユーティリティです。一定の間隔または定期的に実行するプログラムをスケジュールできます。
Cronの機能は、crontabでスケジュールされたプログラムを実行するバックグラウンドサービスであるcrondデーモンに依存しています。システムでスケジュールされているすべてのプログラムは、cronジョブテーブル(またはcrontab)にあります。
したがって、このテーブルを変更して、起動時に実行するプログラムのスケジュールを追加する必要があります。方法は次のとおりです。
- Raspberry PiでCLIを開き、次のように入力します crontab -e cronジョブテーブル(crontab)を編集します。 crontabを初めて開く場合は、エディターを選択する必要があります。好みのエディターを選択するか、Nanoを続行できます。いずれの場合も、エディターの名前を入力して、 入力 。
- cronテーブルにエントリを作成するには、次のコマンドを入力します。 @reboot python3 /home/pi/PiCounter/display.py& 。コマンドで、プログラム名とそのパスを必ず置き換えてください。
- 押す CTRL + O crontabに行を書き込みます。
- タイプ sudoリブート ターミナルでPiを再起動します。
これで、Piが起動するたびにCronがプログラムを実行するはずです。このスケジュールを停止する場合は、crontabのコマンドを削除してください。
3.自動起動を使用した起動時にGUIプログラムを実行します
自動起動は、起動時にGUIベースのRaspberryPiプログラムを実行するための最良の方法です。これは、システムがスケジュールされたプログラムを実行する前に、XWindowシステムとLXDEデスクトップ環境の両方が使用可能であることを確認することで機能します。
サインアップやダウンロードなしで無料の映画を見る
ウィンドウモードで実行するスクリプトがある場合、またはRaspberry Piで起動時にGUIベースのプログラム/アプリケーションのいずれかを実行する場合は、自動起動を使用して実行するようにスケジュールする必要があります。これを行う手順は次のとおりです。
- まず、ターミナルを開き、次のコマンドを入力して、自動起動ディレクトリに.desktopファイルを作成します。 sudo nano /etc/xdg/autostart/display.desktop 。ファイル名としてdisplay.desktopを使用しましたが、デスクトップファイルには任意の名前を付けることができます。
- .desktopファイルに、次のコード行を追加します。
[Desktop Entry]
Name=PiCounter
Exec=/usr/bin/python3 /home/pi/PiCounter/display.py - このファイルで、の値を置き換えます 名前 プロジェクト/スクリプト名のフィールド。同様に、RaspberryPiが起動するたびに実行するdisplay.pyプログラムを追加しました。
- ただし、実行したい任意のプログラムに置き換えることができます。実際、Chromeブラウザなどのサードパーティプログラムを実行するようにスケジュールすることもできます。この場合、.desktopファイルには次のコードが含まれている必要があります。
[Desktop Entry]
Name=Chrome
Exec=chromium-browser - その後、ヒット CTRL + O ファイルを保存してから、 sudoリブート Piを再起動します。
Piが起動するとすぐに、GUIプログラムも自動的に起動します。起動時にプログラムの実行を停止したい場合は、autostartフォルダーに移動して、作成した.desktopファイルを削除します。
RaspberryPiでの起動時にプログラムを正常に実行する
Linuxベースのシステムで起動時にプログラムを実行する方法はたくさんありますが、このガイドで説明した方法は、RaspberryPiでプログラムをスケジュールするのに役立ちます。
したがって、実行するプログラムの種類(カスタムスクリプトまたはサードパーティアプリケーション)に関係なく、これらの方法で対応できるはずです。また、プログラムを実行するたびに、プログラムの実行に必要な余分な手順を減らすことができるはずです。
共有 共有 つぶやき Eメール RaspberryPiで実行される23のオペレーティングシステムRaspberry Piプロジェクトが何であれ、そのためのオペレーティングシステムがあります。これが最高のRaspberryPiオペレーティングシステムです!
次を読む 関連トピック- DIY
- ラズベリーパイ
- Linux
- Python
Yashは、DIY、Linux、プログラミング、およびセキュリティのためのMUOのスタッフライターです。執筆への情熱を見つける前は、WebとiOS向けに開発していました。彼が他の分野をカバーしているTechPPで彼の執筆を見つけることもできます。技術以外では、彼は天文学、フォーミュラ1、時計について話すことを楽しんでいます。
YashWateのその他の記事ニュースレターを購読する
ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。
購読するにはここをクリックしてください