[Interest] "Dynamic session lookup supported but failed"

Thiago Macieira thiago.macieira at intel.com
Sat May 16 02:11:02 CEST 2015


On Friday 15 May 2015 23:34:09 René J.V. Bertin wrote:
> > You're using XCB. It expects X behaviour.
> 
> Yes, I am. But X and DBus are 2 separate things. If it were "X behaviour" to
> have a session DBus when starting an application, I should see the error
> under Linux too when there is no session DBus.

The difference is D-Bus itself, not Qt and not X.

> > > What is "it" here?
> > 
> > I was wrong. It would have complained if you had no X.
> > 
> > The problem here is that you *do* have X, so it didn't complain because it
> > found the session bus.
> 
> Again, what is "it"? And once more, there is no session bus to be found in
> the context I'm talking about ...

D-Bus didn't complain.

> > No, X11 autostart is a feature I introduced some time in 2006 in D-Bus.
> > Probably version 0.62 or 0.90.
> 
> In the Qt interface to DBus I presume? 

No, inside D-Bus.

> The dbus-daemon process that provides the actual DBus cannot start itself
> after all... 

D-Bus is composed of two pieces: a daemon and the client library in each 
application. The libdbus-1 library that QtDBus uses does start dbus-daemon as 
needed. Even without libdbus-1, QtDBus would have to do it because 
autostarting the daemon is part of the specification.

> What I don't understand then is why KDE4 and KF5 applications (from Ubuntu
> 14.04) complain about a missing dbus when I launch them over ssh, and tell
> me to do `eval dbus-launch` by hand.

They should only do that if DISPLAY is also unset. If DISPLAY is set and 
valid, then autostarting works and the applications should not tell you 
anything.

> > The mismatch here is that your D-Bus is looking at the Aqua connection,
> > while your Qt is looking at the X connection. You're seeing the problem
> > because X is working but Aqua isn't, under your SSH connection.
> 
> Hmmm, so what you're saying is that QtDBus tries to create a DBus session,
> and then prints an error message that suggests it only tried to find an
> existing session? 

Yes.

> And that I don't get the error when I launch the same
> application under SSH on a Linux box because a DBus session is created
> silently and successfully (and aborted when I stop the application)?

Yes (no - it keeps running until the X connection closes).

> > Other people haven't noticed this problem because they either get both
> > successful or both failing.
> 
> Actually, I think very few people have tried to use the xcb plugin on OS X,

Right, they try the xcb plugin on X and they try the cocoa plugin on OS X.

> and Qt4 hasn't built for X11 on OS X since quite a few (minor) versions
> (MacPorts says 4.4.3 but I think Fink has a somewhat later version).

Qt 4 also did not support D-Bus menu, D-Bus app indicator and D-Bus-based AT-
SPI accessibility support.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Interest mailing list