The session bus is a session specific bus (mostly for desktop use).
Use SessionBus, the non-singleton ASessionBus is for the test suite.
Get the the default session bus.
# File lib/dbus/bus.rb, line 721 def initialize super(ENV["DBUS_SESSION_BUS_ADDRESS"] || address_from_file) connect send_hello end
# File lib/dbus/bus.rb, line 727 def address_from_file f = File.new("/var/lib/dbus/machine-id") machine_id = f.readline.chomp f.close display = ENV["DISPLAY"].gsub(%r.*:([0-9]*).*/, '\1') File.open(ENV["HOME"] + "/.dbus/session-bus/#{machine_id}-#{display}").each do |line| if line =~ %r^DBUS_SESSION_BUS_ADDRESS=(.*)/ return $1 end end end