Connect to systemd over session DBus rather than system (#2)
This seems to be correct for starting user services.
This commit is contained in:
parent
cefd13692b
commit
c450a9ed0d
3 changed files with 5 additions and 1 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
|
@ -251,6 +251,7 @@ dependencies = [
|
||||||
"tracing",
|
"tracing",
|
||||||
"tracing-journald",
|
"tracing-journald",
|
||||||
"tracing-subscriber",
|
"tracing-subscriber",
|
||||||
|
"zbus",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
|
||||||
|
|
@ -23,3 +23,4 @@ tokio-util = "0.7"
|
||||||
tracing = "0.1"
|
tracing = "0.1"
|
||||||
tracing-journald = "0.3.0"
|
tracing-journald = "0.3.0"
|
||||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||||
|
zbus = { version = "2.0.1" }
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
// SPDX-License-Identifier: GPL-3.0-only
|
// SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
|
||||||
use color_eyre::{eyre::WrapErr, Result};
|
use color_eyre::{eyre::WrapErr, Result};
|
||||||
|
use systemd_client::manager::SystemdManagerProxy;
|
||||||
|
|
||||||
pub async fn start_systemd_target() -> Result<()> {
|
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
|
.await
|
||||||
.wrap_err("failed to connect to org.freedesktop.systemd1.Manager")?;
|
.wrap_err("failed to connect to org.freedesktop.systemd1.Manager")?;
|
||||||
manager
|
manager
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue