起動時にプログラムを実行させる方法はいくつかありますが、今回はGUIを起動するので、autostartで実行しています
/etc/rc.localだと、rootで立ち上がってしまうので、/home/piで作成している環境が動作しません。
autostart
- ファイル
$ vim ~/.config/lxsession/LXDE-pi/autostart
- 起動したいシェルを記述
@/home/pi/start.sh
シェルの注意
- 環境変数が必要な場合は、exportを実行
- kivyの中で相対パスでfontの読み込み設定していると失敗するのでフルパスで指定するか、ディレクトリを移動させて実行する
- kivyは標準エラー出力にログを出すので、&> でログファイルに出力すること
例)
#!/bin/bash
export GOOGLE_APPLICATION_CREDENTIALS=XXXXX
cd /home/pi/python/
/usr/bin/python3 main.py &> /home/pi/log/kivy.log
立ち上がらない場合はログファイルを参照してdebug。