Qdbus: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
 
(7 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{unvollständig}}
{{righttoc}}
{{righttoc}}
D-Bus stellt die Interprozesskommunikation (IPC) zwischen den verschiedenen Programmen auf einem Linux System her. '''Qt D-Bus''' (qdbus) stellt die IPC von D-Bus in einer für Qt typischen objektorientierten Programm-Syntax bereit.
qdbus ist ein Kommandozeilen Werkzeug für die Interprozesskommunikation (IPC) mittels d-bus.


Das Paket {{Paket|dbus}} aus dem {{ic|core}} Repositorium ist Teil jeder Standartinstallation.  
Das Paket {{Paket|dbus}} aus dem {{ic|core}} Repositorium ist Teil jeder Standardinstallation.  


Als anschauliches Beispiel für Interprozesskommunikation mit qdbus ist [[Plasma#Android_Integration|KDEConnect]], dass die Bedienung eines Desktop-Pc's über eine Smartphone App realisiert.
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.
{|{{prettytable}}
! service
! path
! interface.method
|-
|  org.mpris.MediaPlayer2.spotify 
|  /org/mpris/MediaPlayer2 
|  org.mpris.MediaPlayer2.Player.Play 
|-
|}


== Handling ==
== Handling ==
qdbus 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
  qdbus
Gibt die Namen aller zur Zeit laufenden Services aus.
Gibt die Namen aller Services der zur Zeit laufenden Anwendungen aus.
 


  qdbus | grep amarok
  qdbus | grep amarok
Filtert die Ausgabe nach der gewünschten Zeile, hier Amarok.
Filtert die Ausgabe zeilenweise nach der gewünschten Anwendung und gibt hier den gesuchten Amarok 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 ==
== Spickzettel und Beispiele ==
  qdbus org.mpris.amarok /amarok/MainWindow showNormal    #öffnet ein Amarok Fenster
  qdbus org.mpris.amarok /amarok/MainWindow showNormal    #öffnet ein Amarok Fenster
===MPRIS Media Player===
===MPRIS Media Player===
Viele Mediaplayer lassen sich über die [https://www.freedesktop.org/wiki/Specifications/mpris-spec/ MPRIS] D-Bus-Schnittstelle ansteuern. Als Beispiel dient hier Spotify.
Viele Mediaplayer lassen sich über die [https://www.freedesktop.org/wiki/Specifications/mpris-spec/ MPRIS] D-Bus-Schnittstelle ansteuern. Als Beispiel dient hier Spotify.
Zeile 24: Zeile 56:
  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.Next
  qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous
  qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous
 
== Weblinks ==
* [https://www.freedesktop.org/wiki/Software/dbus/ freedesktop.org dbus] {{sprache|en}}
* [https://www.freedesktop.org/wiki/Software/dbus/ freedesktop.org dbus] {{sprache|en}}
* [http://doc.qt.io/qt-5/qtdbus-index.html Qt D-bus] {{sprache|en}}
* [http://doc.qt.io/qt-5/qtdbus-index.html Qt D-bus] {{sprache|en}}
* [http://linux-commands-examples.com/qdbus linux-commands-examples qdbus] {{sprache|en}}


[[cs:D-Bus]]
[[Kategorie:Systemverwaltung]]
[[es:D-Bus]]
 
[[ja:D-Bus]]
[[en:D-Bus]]
[[ko:D-Bus]]

Aktuelle Version vom 17. Januar 2022, 08:35 Uhr

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

qdbus 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 hier den gesuchten Amarok 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

Weblinks