EPISODE · Apr 26, 2025 · 48 MIN
systemd's D-Bus Implementation, And Its Python asyncio Binding (glt25)
from Chaos Computer Club - recent audio-only feed · host Jörg Faschingbauer
An overview of D-Bus, systemd, and systemd's own D-Bus implementation, [`sd-bus`](https://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html). Less slide show, more live coding in Python and [`asyncio`](https://docs.python.org/3/library/asyncio.html>). D-Bus is a broker-based interprocess communication mechanism which has been used for ages in Linux's desktop environments like [GNOME](https://www.gnome.org/) or [KDE](https://kde.org/). [systemd](https://systemd.io/), the Linux init system and service manager, likewise consists of many loosely coupled components. Since systemd's inception, likewise, its components are using D-Bus to communicate. Over time, the systemd developers have become uncomfortable with the existing D-Bus implementation they were using. They created another implementation, [sd-bus](https://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html), tailored towards systemd's needs - minimal and fast. This talk gives an overview of D-Bus and its concepts, and then shows how sd-bus is used to implement one's own interfaces and components. Out of its many language bindings, we will use Python to implement a use case, just to show how simple this is. You will probably like the use of [asyncio](https://docs.python.org/3/library/asyncio.html) in the talk. For those of you who don't know what this is and what problems it solves, I'll try to explain, however hard that may be. I might fail though. If you are interested: my last year's talk [Python, asyncio, libgpiod, and Pointless Blinking](https://media.ccc.de/v/glt24-435-python-asyncio-libgpiod-and-pointless-blinking) contains a deeper [asyncio](https://docs.python.org/3/library/asyncio.html) introduction. Licensed to the public under https://creativecommons.org/licenses/by/4.0/ about this event: https://pretalx.linuxtage.at/glt25/talk/38MNWT/
What this episode covers
An overview of D-Bus, systemd, and systemd's own D-Bus implementation, [`sd-bus`](https://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html). Less slide show, more live coding in Python and [`asyncio`](https://docs.python.org/3/library/asyncio.html>). D-Bus is a broker-based interprocess communication mechanism which has been used for ages in Linux's desktop environments like [GNOME](https://www.gnome.org/) or [KDE](https://kde.org/). [systemd](https://systemd.io/), the Linux init system and service manager, likewise consists of many loosely coupled components. Since systemd's inception, likewise, its components are using D-Bus to communicate. Over time, the systemd developers have become uncomfortable with the existing D-Bus implementation they were using. They created another implementation, [sd-bus](https://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html), tailored towards systemd's needs - minimal and fast. This talk gives an overview of D-Bus and its concepts, and then shows how sd-bus is used to implement one's own interfaces and components. Out of its many language bindings, we will use Python to implement a use case, just to show how simple this is. You will probably like the use of [asyncio](https://docs.python.org/3/library/asyncio.html) in the talk. For those of you who don't know what this is and what problems it solves, I'll try to explain, however hard that may be. I might fail though. If you are interested: my last year's talk [Python, asyncio, libgpiod, and Pointless Blinking](https://media.ccc.de/v/glt24-435-python-asyncio-libgpiod-and-pointless-blinking) contains a deeper [asyncio](https://docs.python.org/3/library/asyncio.html) introduction. Licensed to the public under https://creativecommons.org/licenses/by/4.0/ about this event: https://pretalx.linuxtage.at/glt25/talk/38MNWT/
NOW PLAYING
systemd's D-Bus Implementation, And Its Python asyncio Binding (glt25)
No transcript for this episode yet
Similar Episodes
Mar 26, 2026 ·1m
Feb 8, 2026 ·4m
Jan 30, 2026 ·6m
Jan 2, 2026 ·47m