conn_darwin.go 767 B

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