From 741c5b5ce45ca1802ee13354dbf8528d02e15eb5 Mon Sep 17 00:00:00 2001 From: Jeremy Whiting Date: Mon, 9 Oct 2023 10:55:52 -0600 Subject: [PATCH] Use the system bus. Added a dbus service file so we can own the com.steampowered.SteamOSManager1 name. Also added a systemd service file Also add a dbus .conf file to allow any process to talk to manager for now. --- data/com.steampowered.SteamOSManager1.conf | 16 ++++++++++++++++ data/com.steampowered.SteamOSManager1.service | 5 +++++ data/steamosmanager.service | 7 +++++++ src/main.rs | 2 +- 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 data/com.steampowered.SteamOSManager1.conf create mode 100644 data/com.steampowered.SteamOSManager1.service create mode 100644 data/steamosmanager.service diff --git a/data/com.steampowered.SteamOSManager1.conf b/data/com.steampowered.SteamOSManager1.conf new file mode 100644 index 0000000..d5e101f --- /dev/null +++ b/data/com.steampowered.SteamOSManager1.conf @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + diff --git a/data/com.steampowered.SteamOSManager1.service b/data/com.steampowered.SteamOSManager1.service new file mode 100644 index 0000000..cc2db50 --- /dev/null +++ b/data/com.steampowered.SteamOSManager1.service @@ -0,0 +1,5 @@ +[D-BUS Service] +Name=com.steampowered.SteamOSManager1 +Exec=/usr/lib/steamos-manager +User=root +SystemdService=steamosmanager.service diff --git a/data/steamosmanager.service b/data/steamosmanager.service new file mode 100644 index 0000000..b10f3b3 --- /dev/null +++ b/data/steamosmanager.service @@ -0,0 +1,7 @@ +[Unit] +Description=SteamOS Manager Daemon + +[Service] +Type=dbus +BusName=com.steampowered.SteamOSManager1 +ExecStart=/usr/lib/steamos-manager diff --git a/src/main.rs b/src/main.rs index 81ac2f8..dd58417 100644 --- a/src/main.rs +++ b/src/main.rs @@ -35,7 +35,7 @@ async fn main() -> Result<()> let manager = manager::SMManager {}; - let _system_connection = ConnectionBuilder::session()? + let _system_connection = ConnectionBuilder::system()? .name("com.steampowered.SteamOSManager1")? .serve_at("/com/steampowered/SteamOSManager1", manager)? .build()