package main import ( "fmt" "github.com/godbus/dbus" "os" ) func main() { conn, err := dbus.SessionBus() if err != nil { fmt.Fprintln(os.Stderr, "Failed to connect to session bus:", err) os.Exit(1) } conn.BusObject().Call("org.freedesktop.DBus.AddMatch", 0, "type='signal',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',sender='org.freedesktop.DBus'") c := make(chan *dbus.Signal, 10) conn.Signal(c) for v := range c { fmt.Println(v) } }