雨ときどき晴れ

最近は C# や Blazor やってます。Raspberry Pi で Node-RED も活用できるようになりました。

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 が起動していることが確認できた。