D-Bus is a popular IPC mechanism used by various services on most desktop and many embedded Linux systems in the wild. It is heavily used by even the most essential services, such as systemd. Unfortunately, in the Rust world, there is only one D-Bus crate that is in a usable state and most users are not happy about it for various reasons, most notably that it depends on a notoriously bad C library. zbus, was created out of this demand for a pure Rust API that makes D-Bus easy and simple. With both elegance and efficiency as the top goals, the development of of zbus has been a much greater challenge than original anticipated but slowly they were all overcome.
Recently, zbus has actually started to take a good shape, with the foundational code already released and zbus nearing it’s first release. In this talk, I’ll go through all major challenges faced during the development of zbus and the solutions chosen, and give an overview of how one can make use of zbus.