lucab/zbus_systemd · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
zbus_systemd
一个用于与 systemd DBus 服务交互的纯 Rust 库。
zbus_systemd 提供了通过 DBus 与各类 systemd 服务进行交互的功能。该库试图覆盖所有服务中的所有 systemd 接口。
自动生成的服务
每个服务都有其专属的模块,这些模块是根据当前的 systemd 定义自动生成的,可通过对应的 Cargo 特性来激活:
home1:systemd-homed 接口(org.freedesktop.home1)hostname1:systemd-hostnamed 接口(org.freedesktop.hostname1)import1:systemd-importd 接口(org.freedesktop.import1)locale1:systemd-localed 接口(org.freedesktop.locale1)login1:systemd-logind 接口(org.freedesktop.login1)machine1:systemd-machined 接口(org.freedesktop.machine1)network1:systemd-networkd 接口(org.freedesktop.network1)oom1:systemd-oomd 接口(org.freedesktop.oom1)portable1:systemd-portabled 接口(org.freedesktop.portable1)resolve1:systemd-resolved 接口(org.freedesktop.resolve1)systemd1:systemd 接口(org.freedesktop.systemd1)sysupdate1:systemd-sysupdated 接口(org.freedesktop.sysupdated1)timedate1:systemd-timedated 接口(org.freedesktop.timedate1)timesync1:systemd-timesyncd 接口(org.freedesktop.timesync1)
如需了解如何使用这些接口的快速入门指南,请参阅 examples。
异步执行器
该 crate 在内部使用 zbus,且不依赖任何默认的 Cargo 功能。
这意味着您必须通过启用以下某个 Cargo 功能来决定使用哪种异步执行器:
zbus-async-smol:在内部使用smol执行器(需在zbus中启用async-io功能)。zbus-async-tokio:在内部使用tokio执行器(需在zbus中启用tokio功能)。
如果 zbus 已经存在于您的依赖树中,您可以选择跳过此选项,转而依赖 Cargo 功能统一机制]。
否则,如果您尚未依赖 zbus 且也未启用上述任何异步功能,很可能会出现构建错误。
许可证
您可以根据自己的选择,采用以下任意一种许可证:
- MIT 许可证 - http://opensource.org/licenses/MIT
- Apache 2.0 许可证 - http://www.apache.org/licenses/LICENSE-2.0