IPC > D-Bus > Wie kommunizieren zwischen zwei eigenen Programmen und einer Library?

09/09/2014 - 08:58 von Heinz-Mario Frühbeis | Report spam
Guten Morgen und ein Hallo!

In [2]
<http://linoxide.com/how-tos/d-bus-i...linux/>
kann man folgendes finden:

DBus service file example:
D-BUS Service]
Name=org.share.linux
Exec=path to the executable.

In "/usr/share/dbus-1/system-services/" finde ich u.a. ein File
"com.ubuntu.LanguageSelector.service" mit dem Inhalt:
[D-BUS Service]
Name=com.ubuntu.LanguageSelector
Exec=/usr/lib/language-selector/ls-dbus-backend
User=root

Und unter "/usr/lib/language-selector/" finde ich "ls-dbus-backend", was
ein Python-Sript ist.

Braucht man den so was auch, oder wie kommuniziert man (z. Bsp.)
zwischen zwei Programmen und einer Library?
Falls, dann bràuchte man in jedem Programmteil einen Loop, welcher
"lauscht" ob z. Bsp. [1] diese Library eine Nachricht hat?
(Geht das denn überhaupt mit einer Library? Oder was bràuchte es um
Funktionen für die ICP unterzubringen?)

[1]
[D-BUS Service]
Name=com.Earlybite.IDA
Exec=/home/UserName/eb/ida/ida/DBus/libida_dbus

Ich frage deshalb, weil ich in jedem Bsp. im Internet immer
org.freedesktop.XXX finde (oder quasi so àhnlich). Und unter [2] habe
ich zum ersten Mal was gefunden, wo auf ein DBus service file
hingewiesen wird...

BTW:
In
"/usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service"
steht:
[D-BUS Service]
Name=org.freedesktop.PackageKit
Exec=/usr/sbin/aptd
User=root
Aber in "/usr/bin/" finde ich kein "aptd" nur "aptdcon". Warum?

Mit Gruß
Heinz-Mario Frühbeis
 

Lesen sie die antworten

#1 Heinz-Mario Frühbeis
09/09/2014 - 20:52 | Warnen spam
Am 09.09.2014 um 08:58 schrieb Heinz-Mario Frühbeis:


Guten Morgen und ein Hallo!

In [2]
<http://linoxide.com/how-tos/d-bus-i...linux/>
kann man folgendes finden:

DBus service file example:
D-BUS Service]
Name=org.share.linux
Exec=path to the executable.

In "/usr/share/dbus-1/system-services/" finde ich u.a. ein File
"com.ubuntu.LanguageSelector.service" mit dem Inhalt:
[D-BUS Service]
Name=com.ubuntu.LanguageSelector
Exec=/usr/lib/language-selector/ls-dbus-backend
User=root

Und unter "/usr/lib/language-selector/" finde ich "ls-dbus-backend", was
ein Python-Sript ist.

Braucht man den so was auch, oder wie kommuniziert man (z. Bsp.)
zwischen zwei Programmen und einer Library?
Falls, dann bràuchte man in jedem Programmteil einen Loop, welcher
"lauscht" ob z. Bsp. [1] diese Library eine Nachricht hat?
(Geht das denn überhaupt mit einer Library? Oder was bràuchte es um
Funktionen für die ICP unterzubringen?)

[1]
[D-BUS Service]
Name=com.Earlybite.IDA
Exec=/home/UserName/eb/ida/ida/DBus/libida_dbus

Ich frage deshalb, weil ich in jedem Bsp. im Internet immer
org.freedesktop.XXX finde (oder quasi so àhnlich). Und unter [2] habe
ich zum ersten Mal was gefunden, wo auf ein DBus service file
hingewiesen wird...

BTW:
In
"/usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service"
steht:
[D-BUS Service]
Name=org.freedesktop.PackageKit
Exec=/usr/sbin/aptd
User=root
Aber in "/usr/bin/" finde ich kein "aptd" nur "aptdcon". Warum?

Mit Gruß
Heinz-Mario Frühbeis



Ich habe mal lt.
<http://linoxide.com/how-tos/d-bus-i...linux/>
angefangen ein Test-Programm zu machen.
Zuerst habe ich allerdings eine *.service-Datei gemacht.
Jedenfalls scheint das soweit zu klappen.

Ich habe den "Fehler" gemacht und immer gedacht, daß diese DBus-Messages
sich auf Funktionen innerhalb eines Programms beziehen, aber das ist ja
wohl flasch... Diese DBus-Messages sind ja quasi "eigene Kreationen".

Kann man denn Programme quasi "aussperren", oder separieren von Messages?
Wenn es mal angenommen 3 Programme gibt, P1 - P3..., kann man dann DBus
derart einrichten, daß es Messages gibt die z. Bsp. nur für P1 und P2
(also ohne P3) sind, und vielleicht für P1 und P3 (also ohne P2)?

Ähnliche fragen