起動時に root 以外のユーザーとして Python スクリプトを実行する方法

起動時に root 以外のユーザーとして Python スクリプトを実行する方法

起動時にディレクトリを変更し、piユーザー(Raspberry Piで)でスクリプトを実行するように次のスクリプトを作成しました。

#!/bin/bash
echo 'raspberry' | sudo su - pi -c 'cd /home/pi/workspace/counting-objects && python3 script.py

スクリプトを実行すると、次のエラーが発生します。

Traceback (most recent call last):
  File "script.py", line 23, in <module>
    from custom_module...
ImportError: No module named 'custom_module'

ログイン中にフォルダを手動で変更してからコンソールで同じスクリプトを実行すると、すべてが期待どおりに機能します。

ディレクトリを変更した後にpiユーザーとして正しく実行されるようにbashスクリプトを変更する方法を知っている人はいますか?

ありがとうございます!

答え1

sudoシェルスクリプトを完全に避けて必要としないので、破棄してpiユーザーのcronテーブルに追加します。

@reboot cd /home/pi/workspace/counting-objects && python3 script.py

ユーザーとしてログインpiし、編集フォームを使用してくださいcrontab -e

関連情報