Dbus: Wie kann ich den Prozess überwachen?

957
user590536

Ich bin neu bei Dbus und bin neugierig, ob es eine Möglichkeit gibt, den Prozess zu überwachen und zu sehen, ob dieser Prozess Dbus-Nachrichten empfängt. (Ich arbeite an einem Projekt und möchte wissen, ob der Xserver beim Abmelden Dbus-Nachrichten erhält). Vielen Dank.

0
Welche dbus-Version hast du? grawity vor 7 Jahren 0
D-Bus Message Bus Daemon 1.6.18 user590536 vor 7 Jahren 0

1 Antwort auf die Frage

0
duDE

Schauen Sie sich diesen WIKI-Artikel an:

Es gibt zwei allgemein verwendete Busse: die session busund die system bus. Beides kann von jeder Anwendung verwendet werden, abhängig davon, was sie tut.

  • So überwachen Sie den Sitzungsbus: dbus-monitor
  • So überwachen Sie den Systembus:

Erstellen Sie eine Datei /etc/dbus-1/system-local.confmit folgendem Inhalt:

<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> <busconfig> <policy user="root"> <allow eavesdrop="true"/> <allow eavesdrop="true" send_destination="*"/> </policy> </busconfig> 

Starten Sie Ihren Computer neu, um die Konfigurationsänderungen zu übernehmen. Es genügt nicht, die DBus-Server-Konfiguration einfach neu zu laden. Weitere Informationen finden Sie in diesem Fehler.

Führen Sie nun dbus-monitor als root aus. Sie sollten alle Signale, Methodenaufrufe und Methodenantworten sehen können.

sudo dbus-monitor --system 

Wenn Sie mit dem Debuggen fertig sind, empfiehlt es sich, das Richtlinien-Snippet zu entfernen:

sudo rm /etc/dbus-1/system-local.conf 
Ich habe diesen Artikel gesehen, aber wie kann ich die Nachrichten analysieren, indem ich nur den Namen des Zielprozesses kenne? user590536 vor 7 Jahren 0
Die 'Lauschangriffe' werden mit dbus 1.10 glücklicherweise nicht mehr benötigt (sie hatten früher einige seltsame Nebenwirkungen). grawity vor 7 Jahren 1