diff --git a/client.py b/client.py
index 9f215f7ea4c4985a819927b089ef6bdaa867fd27..40d54a3b2f28c81f0e8a73ae32e1a40f375fe882 100755
--- a/client.py
+++ b/client.py
@@ -12,7 +12,7 @@ from typing import Union, Optional, Callable, Dict, List, Set
 
 
 async def main():
-    bus = await MessageBus(negotiate_unix_fd=True).connect()
+    bus = await MessageBus(bus_type=BusType.SYSTEM, negotiate_unix_fd=True).connect()
 
     ins = await bus.introspect('cz.ucw.shipcat', '/cz/ucw/ShipCat')
 
diff --git a/server.py b/server.py
index d8681166472cbce329b9730b7455fb48e3473e0f..3e066257ee0bc2bf0d0034e85dfa531ea0e7405e 100755
--- a/server.py
+++ b/server.py
@@ -70,7 +70,7 @@ class BusLogic:
         )
 
     async def loop(self) -> None:
-        self.bus = await MessageBus(negotiate_unix_fd=True).connect()
+        self.bus = await MessageBus(bus_type=BusType.SYSTEM, negotiate_unix_fd=True).connect()
 
         # Obtain proxy interface for org.freedesktop.DBus
         dbus_intro = await self.bus.introspect(bus_name='org.freedesktop.DBus', path='/org/freedesktop/DBus')
@@ -160,6 +160,32 @@ class BusLogic:
     async def handle_Check(self, msg: Message) -> Message:
         [container] = msg.body
         await self.setup_container(container, msg)
+
+        ins = await self.bus.introspect('org.freedesktop.systemd1', '/org/freedesktop/systemd1')
+        pxy = self.bus.get_proxy_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1', ins)
+        pif = pxy.get_interface('org.freedesktop.systemd1.Manager')
+        p = await pif.call_get_unit('inetd.service')
+        print(p)
+
+        uns = await self.bus.introspect('org.freedesktop.systemd1', p)
+        uxy = self.bus.get_proxy_object('org.freedesktop.systemd1', p, uns)
+        uif = uxy.get_interface('org.freedesktop.systemd1.Unit')
+        active = await uif.get_active_state()
+        sub_state = await uif.get_sub_state()
+        print(active, sub_state)
+
+        await pif.call_subscribe()
+
+        def cb(a, b, c):
+            self.logger.debug(f'PROP: {a} {b} {c}')
+
+        prif = uxy.get_interface('org.freedesktop.DBus.Properties')
+        prif.on_properties_changed(cb)
+
+        await asyncio.sleep(60)
+
+        await pif.call_unsubscribe()
+
         return Message.new_method_return(msg)
 
     async def handle_Shell(self, msg: Message) -> Message: