Qdbus
qdbus ist ein Kommandozeilen Werkzeug für die Interprozesskommunikation (IPC) mittels d-bus.
Das Paket dbus aus dem core
Repositorium ist Teil jeder Standardinstallation.
qdbus wird sowohl für die Suche als auch zum senden einer d-bus message genutzt.
Aufbau
Eine d-bus message besteht aus folgenten Teilen.
service | path | interface.method |
---|---|---|
org.mpris.MediaPlayer2.spotify | /org/mpris/MediaPlayer2 | org.mpris.MediaPlayer2.Player.Play |
Handling
qdebus gibt jeweils den nächsten Bestandteil der gesuchten d-bus message aus. Man kann Schrittweise vorgehen um passende messages zu finden. Hier am Bsp. Amarok.
qdbus
Gibt die Namen aller Services der zur Zeit laufenden Anwendungen aus.
qdbus | grep amarok
Filtert die Ausgabe zeilenweise nach der gewünschten Anwendung und gibt den service aus.
qdbus org.kde.amarok
Gibt die Pfade für die vorhandenen interfaces aus.
qdbus org.kde.amarok /org/mpris/MediaPlayer2
Gibt interfaces und methods aus.
qdbus org.kde.amarok /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Play
Die message ist nun komplett und wird gesendet. Amarok spielt einen Titel.
Bei Eindeutigkeit kann die message auch gekürzt werden.
qdbus org.kde.amarok /org/mpris/MediaPlayer2 Play
Spickzettel und Beispiele
qdbus org.mpris.amarok /amarok/MainWindow showNormal #öffnet ein Amarok Fenster
MPRIS Media Player
Viele Mediaplayer lassen sich über die MPRIS D-Bus-Schnittstelle ansteuern. Als Beispiel dient hier Spotify.
qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Play qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Pause qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous