#systemd #dbus #linux #async #zbus

zbus_systemd

A pure-Rust library to interact with systemd DBus services

20 releases

0.25700.0 Dec 15, 2024
0.25600.0 Jun 13, 2024
0.0.16 Mar 25, 2024
0.0.11 Dec 20, 2023
0.0.3 Feb 14, 2022

#195 in Unix APIs

Download history 974/week @ 2024-09-17 1350/week @ 2024-09-24 1216/week @ 2024-10-01 944/week @ 2024-10-08 1064/week @ 2024-10-15 958/week @ 2024-10-22 953/week @ 2024-10-29 1035/week @ 2024-11-05 1029/week @ 2024-11-12 1556/week @ 2024-11-19 942/week @ 2024-11-26 1987/week @ 2024-12-03 2540/week @ 2024-12-10 1445/week @ 2024-12-17 855/week @ 2024-12-24 1346/week @ 2024-12-31

6,570 downloads per month
Used in 11 crates (via printnanny-dbus)

MIT/Apache

555KB
8K SLoC

zbus_systemd

crates.io Documentation

A pure-Rust library to interact with systemd DBus services.

zbus_systemd provides support for interacting with the suite of systemd services over DBus. This crate tries to cover all systemd interfaces, across all services.

Each service has its own dedicated module, which is auto-generated from current systemd definitions and can be activated through the corresponding Cargo feature:

  • home1: systemd-homed interfaces (org.freedesktop.home1)
  • hostname1: systemd-hostnamed interfaces (org.freedesktop.hostname1)
  • import1: systemd-importd interfaces (org.freedesktop.import1)
  • locale1: systemd-localed interfaces (org.freedesktop.locale1)
  • login1: systemd-logind interfaces (org.freedesktop.login1)
  • machine1: systemd-machined interfaces (org.freedesktop.machine1)
  • network1: systemd-networkd interfaces (org.freedesktop.network1)
  • oom1: systemd-oomd interfaces (org.freedesktop.oom1)
  • portable1: systemd-portabled interfaces (org.freedesktop.portable1)
  • resolve1: systemd-resolved interfaces (org.freedesktop.resolve1)
  • systemd1: systemd interfaces (org.freedesktop.systemd1)
  • sysupdate1: systemd-sysupdated interfaces (org.freedesktop.sysupdated1)
  • timedate1: systemd-timedated interfaces (org.freedesktop.timedate1)
  • timesync1: systemd-timesyncd interfaces (org.freedesktop.timesync1)

For a quickstart on how to use those interfaces, see the examples.

License

Licensed under either of

at your option.

Dependencies

~8–18MB
~268K SLoC