私、めんどくさいのが大嫌いなので、超簡単に起動時処理を実装します。

ほとんどの記事ではlocal.rcで実装してたんですが、rootで実行されるのとうまくいかなかったので今回はcronで実装します。

raspi-configの設定

まずは、ネットが接続されるまで処理を待つ設定をします。

(これをしないと正常に動作しないときがあるみたい)

Image from Gyazo

sudo raspi-configを入力

Image from Gyazo

Boot Optionsを選択

Image from Gyazo

Wait for Network at Bootを選択

Image from Gyazo

はいを選択

Image from Gyazo

了解を選択

これでOK

crontabのログ設定

実行されているか確認するために、ログが残るよう設定しましょう。

sudo nano /etc/rsyslog.conf

でファイルを開き

#cron.* /var/log/cron.log

と書いてある行を見つけて、#を外します(コメントアウト)

cron.* /var/log/cron.log

あとはCtrl+Xを押して、保存するか聞かれるのでyを押す。
終わったらログの設定は完了です。

crontabの設定

crontabには@rebootという、起動時に処理されるトリガがあり、今回はこれを利用していきます。
raspbianには標準で備わっているので、利用していきましょう。

crontab -eで編集します。

初回はどのエディタを使うか確認されます。nanoでよければEnterを、他がよければ数字で選択してください。
(私はnano使いなのでそのままEnter)

そしたら、nanoが起動して編集可能になるので、一番下に@reboot [実行したいコマンド]を追記してください。
今回はVNCサーバーが起動時に立ち上がるようにしたかったので、@reboot vncserver -localhost noを追記しました。

そしたら保存して、crontab -lで今入力した内容があるかを確認してください。

再起動

再起動して実行されていればOK。

実行されていなかった場合

しっかりcrontabが動いているかはログで確認できます。

sudo cat /var/log/cron.logを確認して、エラーだったり、入力したコマンドがないようでしたら検索してみてください。

こんな感じで簡単に実装できました。やったぜ。