Raspberry Pi で Node-Red の自動起動に失敗したとき
Raspberry Pi に Node-Red をインストールしたときに自動起動に失敗したので、その対応方法メモ。
自動起動に失敗した原因は、既存のユーザー名「pi」を別のユーザー名に変更していたことが原因だったので、
その部分を修正していく。
Node-RED のインストールについては、下記のページを参考にした。
qiita.com
症状
Node-RED を起動する下記のコマンド実行時にエラーで失敗する。
$ node-red-start
これもダメ。
$ sudo systemctl start nodered.service
ただし、「sudo」を追加する下記のコマンドは成功する。
$ sudo node-red-start
この状態では、「systemctl」で設定した自動起動は失敗する。
$ sudo systemctl enable nodered.service
対応
「node-red-start」実行時に使用されるファイルを修正する。
# sudo vi /lib/systemd/system/nodered.service [Service] Type=simple # Run as normal pi user - change to the user name you wish to run Node-RED as User=pi Group=pi WorkingDirectory=/home/pi
User、Group、WorkingDirectory の各項目を変更したユーザー名・グループ名に変更する。
変更後、「systemctl daemon-reload」を実行。
# sudo systemctl daemon-reload
「systemctl start nodered.service」を実行して、起動することを確認した。
$ sudo systemctl start nodered.service
また、Raspberry Pi を再起動して、Node-RED が起動していることが確認できた。