はじめに
(2026年7月確動作認済)Raspberry Piの起動時にアプリケーションを自動起動(自動実行)したい場合、設定ファイル /etc/rc.local に実行したいコマンドを記述する方法がよく知られています。
しかし、この方法で自動起動できるのはターミナル上で実行するCUIアプリケーションのみであり、GUIアプリケーションの場合は別の方法を用いる必要があります。ここではその方法を紹介します。
本書の場合、7章「OpenCVによる画像処理と対象物追跡を行ってみよう」で紹介したプログラムが該当します。 なお、GUIアプリケーションであっても、ターミナルからどのようなコマンドで起動するかを知っておく必要があります。例えば、ターミナルなら「lxterminal」などです。
お使いの Raspberry Pi での画面の描画システムとして何を使っているのかによって、自動起動には複数の方法があります。2026年7月現在のデフォルトは、「Wayland/Labwc」となっていますが、 Raspberry Pi 3 など、古いの機種では「X11/Openbox/rpd」が使われている可能性があります。どの方法を用いるかはターミナルで 「sudo raspi-config」を実行し、「6 Advanced Options」→「A7 Wayland」とたどることで選択できます。
以下では、Wayland/Labwcを用いている場合から順に記します。
方法1 (Wayland/Labwc を用いている場合)
LXTerminalを起動し、下記のコマンドを実行します。存在しない autostart というテキストファイルを作成するコマンドです。mousepad .config/labwc/autostart空のファイルとなっていますので、実行したいコマンドを記します。例えば、本書7章で用いたbb2-07-01-preview.pyなら、下記のようになるでしょう。ユーザー名「pi」の部分は、自分のユーザー名に書き換えてください。
python3 /home/pi/bluebacks/bb2-07-01-preview.py &記述を終えたら、保存して mousepad を閉じましょう。Raspberry Pi を再起動すれば、起動時に bb2-07-01-preview.py が起動しているはずです。
方法2 (X11/Openbox/rpd を用いている場合)
LXTerminalを起動し、下記のコマンドを実行します。この2つのコマンドは、「自動実行に必要なautostartというファイル」をデフォルトの場所からユーザーの場所にコピーするためのコマンドです。
mkdir -p .config/lxsession/rpd-x cp /etc/xdg/lxsession/rpd-x/autostart .config/lxsession/rpd-x次に、コピーしてきたautostartというファイルを編集します。
下記のコマンドを実行しましょう。
テキストエディタmousepadにより、自動起動するアプリケーションが列挙されたファイルが開きます。
mousepad .config/lxsession/rpd-x/autostart中身は下記のようになっているはずです。
@lxpanel-pi @pcmanfm-pi @xscreensaver -no-splashこの末尾に、起動したいアプリケーションのコマンドを追記します。例えば、本書7章で用いたbb2-07-01-preview.pyなら、下記のようになるでしょう。ユーザー名「pi」の部分は、自分のユーザー名に書き換えてください。
@python3 /home/pi/bluebacks/bb2-07-01-preview.py先頭に「@」つけることに注意してください。さらに、サンプルファイルの保存位置が異なるなら、適宜編集しましょう。Raspberry Pi を再起動すれば、起動時に bb2-07-01-preview.py が起動しているはずです。
方法3 (古い OS を用いている場合)
Bullseye などの古い OS を用いている場合、X11/Openbox/LXDE が用いられています。その場合、下記に従います。LXTerminalを起動し、下記のコマンドを実行します。
この2つのコマンドは、「自動実行に必要なautostartというファイル」をデフォルトの場所からユーザーの場所にコピーするためのコマンドです。
mkdir -p .config/lxsession/LXDE-pi cp /etc/xdg/lxsession/LXDE-pi/autostart .config/lxsession/LXDE-pi次に、コピーしてきたautostartというファイルを編集します。
下記のコマンドを実行しましょう。
テキストエディタmousepadにより、自動起動するアプリケーションが列挙されたファイルが開きます。
mousepad .config/lxsession/LXDE-pi/autostart中身は下記のようになっているはずです。
@lxpanel --profile LXDE-pi @pcmanfm --desktop --profile LXDE-pi @xscreensaver -no-splash @point-rpiこの末尾に、起動したいアプリケーションのコマンドを追記します。例えば、本書7章で用いたbb2-07-01-preview.pyなら、下記のようになるでしょう。ユーザー名「pi」の部分は、自分のユーザー名に書き換えてください。
@python3 /home/pi/bluebacks/bb2-07-01-preview.py先頭に「@」つけることに注意してください。さらに、サンプルファイルの保存位置が異なるなら、適宜編集しましょう。Raspberry Pi を再起動すれば、起動時に bb2-07-01-preview.py が起動しているはずです。
NOOBS Ver.3.0.0を使用しています。
返信削除この場合、 lxsession フォルダがなく、autostartファイルも見当たりません。
Ver.3.0.0でのautostartについて、教えていただければと思います。
追記
削除実行したいことは、bb2-07-07-tracking-face.pyを
自動起動させたいのですが、うまく動作いたしません。
よろしくお願いいたします。
ご指摘ありがとうございます。こちらでも確認しました。
削除ページにも追記しましたが、ファイル編集前に、下記の2コマンドで
デフォルトのファイル(autostart)をユーザーpiの領域にコピーしてください。
mkdir -p .config/lxsession/LXDE-pi
cp /etc/xdg/lxsession/LXDE-pi/autostart .config/lxsession/LXDE-pi
その後、leafpadコマンドを実行すれば編集できるようになっていると思います。
よろしくお願いします。
ご連絡のほどありがとうございました。
削除さっそくフォルダを作成し、autostartを編集したところ、無事、自動起動いたしました。
大変助かりました。
ありがとうございました。