On 20 July 2017 at 18:35, Yuri <yuri@rawbw.com> wrote:
The logic "(that) D-Bus (requires the display) ... seems fair, given that d-bus stands for _Desktop Bus_" is actually incorrect. The only connection of DBus to X is that DBus for some reason can auto-launch X. Only bin/dbus-launch is linked to libX11.so. DBus is the desktop bus in the name only. DBus is an IPC mechanism, and essentially has nothing to do with X. In fact, removing --with-x in DBus makes it disconnect from X. The fact that any DBus-linked program requires X indicates some problem. This should never happen.

DBus relies on a known address for the clients to communicate on. If an address is not specified it will automatically derive a unix socket based on the DISPLAY environment variable (if set). Presumably setting DBUS_SESSION_BUS_ADDRESS explicitly would also suffice as a workaround, it's just more typing and more arcane.

ie. Jack doesn't require X under any circumstances, but if compiled with dbus support it _does_ require a valid session bus to connect to and the simplest way to arrange for that to happen is to set DISPLAY.

-Rowan