Class DBus::ASessionBus
In: lib/dbus/bus.rb
Parent: Connection

D-Bus session bus class

The session bus is a session specific bus (mostly for desktop use).

Use SessionBus, the non-singleton ASessionBus is for the test suite.

Methods

Public Class methods

Get the the default session bus.

[Source]

# File lib/dbus/bus.rb, line 721
    def initialize
      super(ENV["DBUS_SESSION_BUS_ADDRESS"] || address_from_file)
      connect
      send_hello
    end

Public Instance methods

[Source]

# 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(/.*:([0-9]*).*/, '\1')
      File.open(ENV["HOME"] + "/.dbus/session-bus/#{machine_id}-#{display}").each do |line|
        if line =~ /^DBUS_SESSION_BUS_ADDRESS=(.*)/
          return $1
        end
      end
    end

[Validate]