diff --git a/Cargo.lock b/Cargo.lock index 44c0edc..0640911 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -251,6 +251,7 @@ dependencies = [ "tracing", "tracing-journald", "tracing-subscriber", + "zbus", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index b1b7e62..50f84ca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,3 +23,4 @@ tokio-util = "0.7" tracing = "0.1" tracing-journald = "0.3.0" tracing-subscriber = { version = "0.3", features = ["env-filter"] } +zbus = { version = "2.0.1" } diff --git a/src/systemd.rs b/src/systemd.rs index ae90c69..566a19a 100644 --- a/src/systemd.rs +++ b/src/systemd.rs @@ -1,9 +1,11 @@ // SPDX-License-Identifier: GPL-3.0-only use color_eyre::{eyre::WrapErr, Result}; +use systemd_client::manager::SystemdManagerProxy; pub async fn start_systemd_target() -> Result<()> { - let manager = systemd_client::manager::build_nonblock_proxy() + let connection = zbus::Connection::session().await?; + let manager = SystemdManagerProxy::new(&connection) .await .wrap_err("failed to connect to org.freedesktop.systemd1.Manager")?; manager