Dbus é um daemon em sistemas Linux que permite que os aplicativos se comuniquem através de métodos externos. Os detalhes internos podem ser bem detalhados, mas é muito fácil aprendê-los bem o suficiente para conversar com os aplicativos por meio de scripts simples.
Praticamente toda linguagem tem uma biblioteca madura e bem mantida para fazer isso, incluindo C, Java, Go e Python.
Muitas vezes, desejo apenas chamar um método em outro aplicativo. Isso é muito fácil apenas a partir de um script de shell, aqui está um exemplo:
https://github.com/hoffoo/gmusicbrowser-ctrl/blob/master/gmb-ctrl.sh
Esta é uma biblioteca que usei para java:
http://dbus.freedesktop.org/doc/dbus-java/dbus-java/
Em Go, uma biblioteca bem caracterizada está aqui:
https://github.com/godbus/dbus
Abaixo está um exemplo de como usar esta biblioteca para falar com o Spotify, chamar métodos e obter informações sobre a música atual: