zbus_systemd
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.
Auto-generated 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.
Async executor
This crate internally uses zbus without any default Cargo features.
That means that you have to decide which async executor to use, by enabling one of the following Cargo features:
zbus-async-smol: internally uses thesmolexecutor (enabling theasync-iofeature inzbus).zbus-async-tokio: internally uses thetokioexecutor (enabling thetokiofeature inzbus).
In case that zbus is already part of your dependency tree, you may decide to skip this choice and rely on Cargo features unification mechanism instead.
Otherwise, if you aren't already depending on zbus and you don't enable any of the async features above, you will likely get a build error.
License
Licensed under either of
- MIT license - http://opensource.org/licenses/MIT
- Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0
at your option.