1package dbus 2 3import ( 4 "errors" 5 "fmt" 6 "os" 7 "os/exec" 8) 9 10const defaultSystemBusAddress = "unix:path=/opt/local/var/run/dbus/system_bus_socket" 11 12func getSessionBusPlatformAddress() (string, error) { 13 cmd := exec.Command("launchctl", "getenv", "DBUS_LAUNCHD_SESSION_BUS_SOCKET") 14 b, err := cmd.CombinedOutput() 15 16 if err != nil { 17 return "", err 18 } 19 20 if len(b) == 0 { 21 return "", errors.New("dbus: couldn't determine address of session bus") 22 } 23 24 return "unix:path=" + string(b[:len(b)-1]), nil 25} 26 27func getSystemBusPlatformAddress() string { 28 address := os.Getenv("DBUS_LAUNCHD_SESSION_BUS_SOCKET") 29 if address != "" { 30 return fmt.Sprintf("unix:path=%s", address) 31 } 32 return defaultSystemBusAddress 33} 34 35func tryDiscoverDbusSessionBusAddress() string { 36 return "" 37} 38