ПредишенСледващото

D-Bus - автобусна съобщение или един от начините на взаимодействие между процесите в операционната система GNU / Linux, които се използват в почти всички съвременни дистрибуции. Извършва процес често искат да комуникират един с друг; тръби (тръби), обща памет (общата памет), RPC и т.н. - всичко това предвижда обмен на информация между тях.

D-Bus е алтернативен метод на това взаимодействие. Самата DBUS демон дръжки маршрутизация на съобщенията, изпратени от приложения към друг. DBUS концепция е подобно на следното: има

Всяка връзка с демона има свое име, като org.kde.kopete.
Ето защо, приложения, знаейки помежду си с такова име, могат да работят с обекти с един на друг.

интроспекция


Възниква въпросът, как ще разберете конкретните наименования пътя на предмети и методи, които можете да направите нещо наистина полезно? Това помага на способността на предмети, за да гледам навътре, като на едноименната метод на психологически изследвания. Всеки обект, дори ако има информация, че по-рано не е известна, има org.freedesktop.DBus.Introspectable интерфейс, в който има един вглъбявам повикване.

Ние ще Ви помолим да корен обект org.freedesktop.DBus връзки ни казват за себе си:

DBUS-изпратите --type = method_call --print отговор --dest = org.freedesktop.DBus / org.freedesktop.DBus.Introspectable.Introspect


В отговор, той се връща низ, съдържащ описание на XML файл, от който можете да разберете какви са наличните интерфейси, това, което имат и какви методи да има дете възли, т.е. обекти от тип / Име

Няколко примера

Научете имената на връзките:

DBUS-изпратите --session --dest = org.freedesktop.DBus --type = method_call --print отговор / org.freedesktop.DBus.ListNames


Трябва да се отбележи, че има системна (--system) и на сесия (--session) автобус. Първият от тях е обща за всички, а втората е предназначена за процес на потребител и започва в момента на влизане в системата (т.е. да започне KDE сесия).

Вземи масив, съдържащ списък с контакти, работещи Kopete:

DBUS-изпратите --dest = org.kde.kopete --type = method_call --print отговор / Kopete org.kde.Kopete.contacts

Усилете музиката:

DBUS-изпрати --dest = org.mpris.amarok --type = method_call --print отговор / Player org.freedesktop.MediaPlayer.VolumeSet int32: 95

Изключете компютъра (без права root'ovskih):

DBUS-изпратите --system --dest = org.freedesktop.Hal --type = method_call --print отговор / орг / freedesktop / Hal / устройства / компютър org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown

Свързани статии

Подкрепете проекта - споделете линка, благодаря!