<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 20 July 2017 at 18:35, Yuri <span dir="ltr"><<a href="mailto:yuri@rawbw.com" target="_blank">yuri@rawbw.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
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.</blockquote><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>-Rowan</div></div></div></div>