udev ルールは systemd サービスをトリガーします。

udev ルールは systemd サービスをトリガーします。

作業中のudevルール(/etc/udev/rules.d/10-local.rules)を修正しています。

SUBSYSTEM=="tty", ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1015", ATTRS{serial}=="000621000000", SYMLINK+="ttymkw"

この内容(行末):

SUBSYSTEM=="tty", ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1015", ATTRS{serial}=="000621000000", SYMLINK+="ttymkw", TAG+="systemd", SYSTEMD_WANTS="offnet-uart-log.service"

offnet-uart-log.service手動で実行できるユーザーサービスがありますが、~/.config/systemd/userまだここまで到達していません。

, TAG+="systemd", SYSTEMD_WANTS="offnet-uart-log.service"udevルールの最後に追加した後、シンボリックリンクは生成されません(reloadを使用しますsudo udevadm control --reload-rules && sudo udevadm trigger)。

これはルールが間違っていることを示していますが、その理由は不明です。 udevはrootが所有し、サービスはユーザーが所有しているという事実に関連していますか?私が間違って理解したのでしょうかWANTS

SYSTEM_USER_WANTS私はorSYSTEM_WANTSとor=の4つの組み合わせをすべて試しました+=。これを削除すると*_WANTSシンボリックリンクが表示されるため、エラーは*_WANTS

私のttyデバイスにロギングサービスをトリガーさせるにはどうすればよいですか?


編集:私の答えで述べたように動作するように修正SYSTEM_USER_WANTSされましたENV{SYSTEM_USER_WANTS}。なぜ必要ですか?

ベストアンサー1

このブログ投稿私が望むことをし、そのおかげでそれを交換し、そのおかげSYSTEMD_USER_WANTSENV{SYSTEMD_USER_WANTS}うまくいきました。

ENV{}私はまだその構成がなぜ必要なのか、そしてなぜ文書でそれが見つからなかったのか理解していません。

おすすめ記事