Raspberry Pi3(4.14.34-v7+)を起動すると、起動後にdmesgおよびその他のログに次のエラーが表示されます。ただし、現在は使用していないため、triggerhappy
サービスが無効になることがあります。しかし、後で使用したい場合は、エラーの原因が何であるかを知りたいです。
systemd-udevd[157]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1.
systemd サービスには 2 つの項目があります。
systemctl status triggerhappy.service
systemctl status triggerhappy.socket
実行したいコードは
/lib/udev/rules.d/60-triggerhappy.rules
::から来たようです。
起動中になぜ失敗するのですか?
(しかし、後で実行されるようです...)
答え1
なぜ:このエラーは、次のようなさまざまな理由で発生します。
1)このコマンドth-cmd --socket /var/run/thd.socket --passfd --udev
はsegfault
。
2)残念ながら、Triggerhappyを無効にしても、システムログには次のエラーが表示され続けます。
$ sudo systemctl disable triggerhappy.service
$ sudo systemctl disable triggerhappy.socket
これは、Triggerhappyを無効にしてもここでudevルールが削除されないためです/lib/udev/rules.d/60-triggerhappy.rules
。
解決策(ヘッドレスシステムのようにTriggerhappyを使用しない場合):
$ sudo apt-get remove triggerhappy
答え2
@さんが指摘したようにガレブ残念ながら、サービスには古いバグがあるようですtriggerhappy
。ただし、Triggerhappy Happyデーモンが起動中または後にコンピュータに接続されているデバイスで発生する新しいイベントソースによってトリガーされたイベントを検討したい場合は、udevルールが役に立ちます。このエラーを解決するには、ファイルRUN
の行を60-triggerhappy.rules
次のように置き換えます。
RUN+="/bin/systemctl restart triggerhappy"