ゆるエンジニアはいろいろ遊びたい

FAエンジニアが週末にいろいろ遊ぶブログです

Raspberry Pi5で起動後に自動的にスクリプトを実行してみた

前回ラズパイ5で今日は何の日か音声出力できるようになったので、これをラズパイ起動時に自動で実行するようにしました。
実行するpythonファイルはwakeup_app.pyです。
まずはターミナルで以下を実行

sudo nano /etc/systemd/system/wakeup_app.service

何にも表示されていないので、以下を入力

[Unit]
Description=Run wakeup.py at startup
After=network.target
[Service]
Type=oneshot 
RemainAfterExit=no
User=ユーザー名
WorkingDirectory=/home/ユーザー名/Documents/python_app
Environment="GOOGLE_API_KEY=APIキーを入力"
ExecStart=/home/ユーザー名/Documents/python_app/.venv/bin/python wakeup_app.py
Restart=No
[Install]
WantedBy=multi-user.target

APIキーを入力の部分はそれぞれのAPIキーを入れてください。
Userはラズパイのユーザー名、WorkingDirectoryは実行したいpythonファイルが入っているディレクトリを指定します。
ExecStartは、仮想環境のディレクトリ 実行ファイル名を入れます。
「Ctrl + O」で保存、「Ctrl + X」で閉じます。
その後、有効化します。ターミナルで、

sudo systemctl daemon-reload
sudo systemctl enable wakeup_app.service
sudo systemctl start wakeup_app.service

これで音声が出力されれば成功です。

sudo systemctl status wakeup_app.service

で状態を見ることができるので、うまくいかない場合は何か間違っています。
自動実行を止めるときは、

sudo systemctl stop wakeup_app.service
sudo systemctl disable wakeup_app.service

で停止します。

起動するたびにおしゃべりするラズパイで、さらに愛でるのが捗るようになりました。