David Zeuthen aab6d9ed1c GDBus: Handle autolaunching on UNIX/Freedesktop OSes
Also add a 'address' G_DBUS_DEBUG option that will print out useful
debug information such as

  GDBus-debug:Address: In g_dbus_address_get_for_bus_sync() for bus type `session'
  GDBus-debug:Address: env var DBUS_SESSION_BUS_ADDRESS is not set
  GDBus-debug:Address: env var DBUS_SYSTEM_BUS_ADDRESS is not set
  GDBus-debug:Address: env var DBUS_STARTER_BUS_TYPE is not set
  GDBus-debug:Address: Running `dbus-launch --autolaunch=05e508961149264c9b750a4c494aa6f7 --binary-syntax --close-stderr' to get bus address (possibly autolaunching)
  GDBus-debug:Address: dbus-launch output:
    0000: 75 6e 69 78  3a 61 62 73  74 72 61 63  74 3d 2f 74    unix:abstract=/t
    0010: 6d 70 2f 64  62 75 73 2d  77 42 41 6f  4b 59 49 52    mp/dbus-wBAoKYIR
    0020: 7a 75 2c 67  75 69 64 3d  30 34 30 64  31 33 66 33    zu,guid=040d13f3
    0030: 30 61 30 62  35 32 63 32  30 66 36 32  63 34 31 63    0a0b52c20f62c41c
    0040: 30 30 30 30  35 30 38 64  00 d2 38 00  00 01 00 40    0000508d..8....@
    0050: 05 00 00 00  00                                       .....
  GDBus-debug:Address: dbus-launch stderr output:
  14542: Autolaunch enabled (using X11).
  14542: --exit-with-session automatically enabled
  14542: Connected to X11 display ':0.0'
  14542: === Parent dbus-launch continues
  14542: Waiting for babysitter's intermediate parent
  14542: Reading address from bus
  14542: Reading PID from daemon
  14542: Saving x11 address
  14542: Created window 88080385
  14542: session file: /root/.dbus/session-bus/05e508961149264c9b750a4c494aa6f7-0
  14542: dbus-launch exiting
  GDBus-debug:Address: Returning address `unix:abstract=/tmp/dbus-wBAoKYIRzu,guid=040d13f30a0b52c20f62c41c0000508d' for bus type `session'

and

  GDBus-debug:Address: In g_dbus_address_get_for_bus_sync() for bus type `session'
  GDBus-debug:Address: env var DBUS_SESSION_BUS_ADDRESS is not set
  GDBus-debug:Address: env var DBUS_SYSTEM_BUS_ADDRESS is not set
  GDBus-debug:Address: env var DBUS_STARTER_BUS_TYPE is not set
  GDBus-debug:Address: Running `dbus-launch --autolaunch=05e508961149264c9b750a4c494aa6f7 --binary-syntax --close-stderr' to get bus address (possibly autolaunching)
  GDBus-debug:Address: dbus-launch output:
    0000: 75 6e 69 78  3a 61 62 73  74 72 61 63  74 3d 2f 74    unix:abstract=/t
    0010: 6d 70 2f 64  62 75 73 2d  77 42 41 6f  4b 59 49 52    mp/dbus-wBAoKYIR
    0020: 7a 75 2c 67  75 69 64 3d  30 34 30 64  31 33 66 33    zu,guid=040d13f3
    0030: 30 61 30 62  35 32 63 32  30 66 36 32  63 34 31 63    0a0b52c20f62c41c
    0040: 30 30 30 30  35 30 38 64  00 d2 38 00  00 01 00 40    0000508d..8....@
    0050: 05 00 00 00  00                                       .....
  GDBus-debug:Address: dbus-launch stderr output:
  14549: Autolaunch enabled (using X11).
  14549: --exit-with-session automatically enabled
  14549: Connected to X11 display ':0.0'
  14549: dbus-daemon is already running. Returning existing parameters.
  14549: dbus-launch exiting
  GDBus-debug:Address: Returning address `unix:abstract=/tmp/dbus-wBAoKYIRzu,guid=040d13f30a0b52c20f62c41c0000508d' for bus type `session'

Note that things work exactly like libdbus, e.g. from the
dbus-launch(1) man page:

  Whenever an autolaunch occurs, the application that had to start a
  new bus will be in its own little world; it can effectively end up
  starting a whole new session if it tries to use a lot of bus
  services. This can be suboptimal or even totally broken, depending
  on the app and what it tries to do.

  [...]

  You can always avoid autolaunch by manually setting
  DBUS_SESSION_BUS_ADDRESS. Autolaunch happens because the default
  address if none is set is "autolaunch:", so if any other address is
  set there will be no autolaunch. You can however include autolaunch
  in an explicit session bus address as a fallback, for example
  DBUS_SESSION_BUS_ADDRESS="something:,autolaunch:" - in that case if
  the first address doesn't work, processes will autolaunch. (The bus
  address variable contains a comma-separated list of addresses to
  try.)

Signed-off-by: David Zeuthen <davidz@redhat.com>
2010-07-06 17:03:36 -04:00
..
2010-01-12 16:34:23 +01:00
2010-06-10 13:35:25 -04:00
2010-06-09 10:32:12 +02:00
2010-02-21 15:55:10 -05:00
2009-11-29 22:54:16 -05:00
2009-03-31 19:39:16 -04:00
2010-07-05 02:36:48 -04:00
2009-11-29 22:54:16 -05:00
2010-06-17 16:07:52 -04:00
2010-07-05 23:13:16 -04:00
2009-08-19 11:02:05 +02:00
2010-07-05 00:56:12 -04:00
2010-07-05 00:56:12 -04:00
2010-03-26 09:30:25 -04:00
2009-11-29 22:54:16 -05:00
2009-11-29 22:54:16 -05:00
2010-06-20 13:35:41 +02:00
2010-06-22 12:14:31 -04:00
2010-05-09 22:13:18 -04:00
2010-06-22 12:14:31 -04:00
2010-06-22 12:14:31 -04:00
2010-06-22 12:14:31 -04:00
2010-07-05 23:13:17 -04:00
2010-06-22 12:14:31 -04:00
2010-06-22 12:14:31 -04:00
2010-06-22 12:14:31 -04:00
2010-06-22 12:14:31 -04:00
2010-06-22 12:14:31 -04:00
2009-11-29 22:54:16 -05:00
2009-06-15 00:45:55 -04:00
2009-11-17 20:27:38 -06:00
2009-10-13 16:21:42 +02:00
2010-05-08 23:28:17 -04:00
2009-05-13 14:42:46 +02:00
2009-12-01 10:44:42 +01:00
2010-04-21 02:32:43 +02:00
2009-09-18 19:20:06 -04:00
2010-01-12 16:34:18 +01:00
2007-12-01 23:49:34 +00:00
2010-03-26 11:05:02 -04:00
2009-09-18 19:20:06 -04:00
2009-05-13 14:42:38 +02:00
2009-12-01 10:44:42 +01:00
2009-11-29 22:54:16 -05:00
2010-03-08 00:12:33 -05:00
2009-12-01 10:44:42 +01:00
2009-05-28 00:30:21 -04:00
2010-06-18 10:57:00 +03:00
2009-11-23 16:22:52 +01:00
2010-06-06 21:15:42 +02:00
2010-06-04 19:03:38 +02:00
2009-12-01 10:44:42 +01:00
2010-04-16 23:23:40 -04:00
2010-01-24 20:50:51 -05:00
2010-06-06 14:24:14 -04:00
2010-04-23 12:31:31 -04:00
2009-09-07 03:14:15 -04:00
2009-11-29 22:54:16 -05:00
2010-06-17 16:07:52 -04:00
2010-05-15 18:16:51 -04:00
2010-05-08 23:28:17 -04:00
2010-05-13 23:08:34 -04:00
2010-05-08 23:28:17 -04:00
2010-05-08 23:28:17 -04:00
2010-05-08 23:28:17 -04:00
2009-11-29 22:54:16 -05:00
2009-11-29 22:54:16 -05:00
2008-07-21 02:19:56 +00:00
2009-07-05 22:35:55 -04:00
2009-11-29 22:54:16 -05:00
2009-11-29 22:54:16 -05:00
2009-05-30 15:29:23 +02:00
2010-06-23 10:12:14 -04:00