Remote DBus

James purpleidea at gmail.com
Wed Apr 28 12:41:40 PDT 2010


Hi DBus list,
I have been trying to use dbus over the internets and was hoping your
experience could guide me a bit.

===
What I want:
===
- I want all (or ideally just a subset org.freedesktop.dbus.* and
com.example.*) of a remote dbus session to appear as a new bus (or
even merged with an existing session bus) on a local machine.
- Multiple clients to be able to access the new locally available bus.
- It would make sense that authentication and encryption be part of the scheme.

===
What I have looked at:
===
0) http://www.freedesktop.org/wiki/Software/DBusRemote
This page seems like the right idea, however it doesn't provide any
NEWS or information about if this is happening.

1) Telepathy DTubes, specifically over link local XMPP.
This seems great, however it seems that the client that "builds the
tube" is the one that uses it, as opposed to one application tunneling
it for use by different programs. If that was possible, this would be
great! Maybe I'm missing something.

2) "Gabriel" and Gabriel-multiclient
- http://gabriel.sourceforge.net/
- http://static.fi/~zeenix/repos/gabriel-multiclient/
Gabriel-multiclient seems to be what I want, but this doesn't seem to
work properly and it seems relatively abandoned. Maybe for some reason
it's a bad idea ? Author was very nice, however it's passed of to new
maintainer who I haven't heard back from yet.

3) http://alban.apinc.org/blog/2010/04/01/d-bus-debugging-how-to-use-d-feet-on-n900/
Works perfectly however this has no authentication/encryption and only
lets you have a single connection. Perhaps this should be extended to
support auth/encryption and filtering of what parts of the bus to
export?

4) http://www.herzi.eu/archives/159-Peer-to-Peer-DBus-over-TCP.html
Untested, since this is basically what dtubes does

===
Other Questions:
===
1) Am I out of my mind for wanting to do this?

2) I read that since dbus is intended as a local machine transport, it
optimizes the protocol to use unportable binary data marshalling; will
this ever cause a problem with DTubes or any of the above methods I'm
using ?

from: http://dbus.freedesktop.org/doc/dbus-specification.html
D-Bus is low-overhead because it uses a binary protocol, and does not
have to convert to and from a text format such as XML. Because D-Bus
is intended for potentially high-resolution same-machine IPC, not
primarily for Internet IPC, this is an interesting optimization.

Thanks again for everyones time, and sorry for the long post. All the
code I write is open source, and if someone could guide me a bit, it
will all be offered up back to the community.

Cheers,
_James
http://www.cs.mcgill.ca/~james/


More information about the dbus mailing list