色々試行錯誤したのでメモ。 結論 dbus crate を使う。 経緯 開発中の libspecinfra で、systemd 配下の service の状態を取得できるようにするための provider を書こうと思い、色々調べたりコード書いて試したりした。 使えそうな crates を探す まずは目的に合う crates がないか crates.io で検索。ざっと以下のようなものが見つかる。 systemd systemd-dbus dbus dbus-bytestream systemd crate は libsystemd の Rust インターフェースで、sd-daemon、sd-id128、sd-journal、sd-login に対応している。が sd-bus は まだ実装が不完全 なようなので、目的には合わなさそう、と判断。 systemd-dbus crate は2年半