Це команда mdbus2, яку можна запустити у безкоштовного хостинг-провайдера OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
mdbus2 – інтерактивний аналіз, взаємодія та моніторинг DBus
СИНТАКСИС
mdbus2 [ВАРИАНТИ...] [ обслуговуйте мене [ шлях до об'єкта [ метод [ параметри... ] ] ] ]
mdbus2 -сі
mdbus2 -сл
ОПИС
Команда mdbus2 Команда використовується для дослідження та взаємодії з службами DBus на вашому система автобус
та Сесія автобус. Загальносистемна шина повідомлень існує лише один раз і встановлюється на багатьох
системи як послуга "шини повідомлень". Шина повідомлень сеансу призначена для входу в систему кожного користувача (розпочато
кожного разу, коли користувач входить до системи) і зазвичай прив’язується до вашого сеансу X11.
У найпростішому вигляді mdbus2 показує доступні служби на вибраній шині. Враховуючи а
обслуговування ім'я, він покаже доступні об'єкти експортовані службою. Надається послуга
ім'я та ан об'єкт шлях, він покаже викрите методика, сигнали та властивості того
об'єкт
Постачання a метод ім'я (І параметри), ви можете викликати методи об’єкта та отримати
повертати значення(и).
У прослуховування режим, ви можете спостерігати за сигналами, що надсилаються на вибрану шину.
Також включено інтерактивний оболонка із завершенням табуляції та історією команд.
ВАРІАНТИ
--показати-анонімно, -a
Також показати створеного (анонімні) послуги в автобусі.
--система, -s
Використовуйте системну шину замість шини сеансу (за замовчуванням).
-show-pids, -p
Показати ідентифікатори процесів UNIX.
--послухай, -l
Запустіть режим слухача, в якому ви можете спостерігати за сигналами на шині.
--інтерактивні, -i
Запустіть інтерактивну оболонку.
--annotate-types, -t
Примітки до типів DBus.
ВИКОРИСТАННЯ
Щоб викликати метод для об’єкта, реалізованого службою, потрібно вказати
наступні значення:
1 обслуговування ім'я, напр org.freesmartphone.ogsmd – Назва служби ідентифікує
процес, що обслуговує ряд об'єктів. Кожен процес, який приєднується до
bus отримує принаймні неунікальну (анонімну) назву служби, наприклад
: 1.0. Унікальні імена, наприклад org.freesmartphone.ogsmd, зазвичай вводяться
реверсивна нотація доменних імен у нижньому регістрі.
2 об'єкт шлях, напр /org/freesmartphone/GSM/Device – Шлях об’єкта
ідентифікує один конкретний об'єкт, який обслуговується процесом. Шляхи до об’єктів зазвичай
виглядають як шляхи файлової системи.
3 метод, напр org.freesmartphone.GSM.Call.Initiate – Назва методу
ідентифікує операцію, яка є частиною інтерфейсу (методи та сигнали)
об'єкта. Використовуються імена методів CamelCase з крапковим позначенням.
4 параметри, напр +49123456 голос`. (До be описаний далі).
ПРИКЛАДИ
Дізнайтеся, які назви шин зараз зареєстровані на системній шині:
root@om-gta02:~# mdbus -s
: 1.0
: 1.1
: 1.2
: 1.42
: 1.47
: 1.60
: 1.61
org.bluez
org.freedesktop.Avahi
org.freedesktop.DBus
org.freesmartphone.frameworkd
org.freesmartphone.ogsmd
org.pyneo.muxer
Дізнайтеся, які об'єкти обслуговує певна служба:
root@om-gta02:~# mdbus -s org.freesmartphone.frameworkd
/
/org
/org/freesmartphone
/org/freesmartphone/Framework
/org/freesmartphone/GSM
/org/freesmartphone/GSM/Device
/org/freesmartphone/GSM/Server
Дізнатися інтерфейс певного об'єкта:
root@om-gta02:~# mdbus -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device
[МЕТОД] org.freesmartphone.GSM.Call.Activate( i:index )
[МЕТОД] org.freesmartphone.GSM.Call.ActivateConference( i:index )
[МЕТОД] org.freesmartphone.GSM.Call.HoldActive()
[МЕТОД] org.freesmartphone.GSM.Call.Initiate( s:номер, s:тип_ )
[МЕТОД] org.freesmartphone.GSM.Call.Release( i:index )
[МЕТОД] org.freesmartphone.GSM.Call.ReleaseAll()
[МЕТОД] org.freesmartphone.GSM.Call.ReleaseHeld()
[СИГНАЛ] org.freesmartphone.GSM.Call.CallStatus( i:index, s:status, a{sv}:properties )
[МЕТОД] org.freedesktop.DBus.Introspectable.Introspect()
[МЕТОД] org.freesmartphone.GSM.Device.CancelCommand()
[МЕТОД] org.freesmartphone.GSM.Device.GetAntennaPower()
[МЕТОД] org.freesmartphone.GSM.Device.GetFeatures()
[МЕТОД] org.freesmartphone.GSM.Device.GetInfo()
[МЕТОД] org.freesmartphone.GSM.Device.PrepareForSuspend()
[МЕТОД] org.freesmartphone.GSM.Device.RecoverFromSuspend()
[МЕТОД] org.freesmartphone.GSM.Device.SetAntennaPower(b:power)
[МЕТОД] org.freesmartphone.GSM.SIM.ChangeAuthCode( s:old_pin, s:new_pin )
[МЕТОД] org.freesmartphone.GSM.SIM.DeleteEntry( i:index )
[СПОСІБ] org.freesmartphone.GSM.SIM.DeleteMessage( i:index )
[МЕТОД] org.freesmartphone.GSM.SIM.GetAuthStatus()
[МЕТОД] org.freesmartphone.GSM.SIM.GetImsi()
[МЕТОД] org.freesmartphone.GSM.SIM.GetMessagebookInfo()
[МЕТОД] org.freesmartphone.GSM.SIM.GetPhonebookInfo()
[МЕТОД] org.freesmartphone.GSM.SIM.GetServiceCenterNumber()
[МЕТОД] org.freesmartphone.GSM.SIM.GetSimCountryCode()
[МЕТОД] org.freesmartphone.GSM.SIM.GetSubscriberNumbers()
[МЕТОД] org.freesmartphone.GSM.SIM.RetrieveEntry( i:index )
[МЕТОД] org.freesmartphone.GSM.SIM.RetrieveMessage( i:index )
[МЕТОД] org.freesmartphone.GSM.SIM.RetrieveMessagebook(s:category)
[МЕТОД] org.freesmartphone.GSM.SIM.RetrievePhonebook()
[МЕТОД] org.freesmartphone.GSM.SIM.SendAuthCode(s:code)
[МЕТОД] org.freesmartphone.GSM.SIM.SetServiceCenterNumber(s:номер)
[МЕТОД] org.freesmartphone.GSM.SIM.StoreEntry( i:index, s:name, s:number )
[МЕТОД] org.freesmartphone.GSM.SIM.StoreMessage( s:номер, s:вміст)
[МЕТОД] org.freesmartphone.GSM.SIM.Unlock( s:puk, s:new_pin)
[СИГНАЛ] org.freesmartphone.GSM.SIM.AuthStatus( s:статус)
[СИГНАЛ] org.freesmartphone.GSM.SIM.NewMessage( i:index )
[МЕТОД] org.freesmartphone.GSM.Network.DisableCallForwarding( s:reason, s:class_ )
[МЕТОД] org.freesmartphone.GSM.Network.EnableCallForwarding( s:причина, s:клас_, s:номер, i:час очікування)
[МЕТОД] org.freesmartphone.GSM.Network.GetCallForwarding(s:reason)
[МЕТОД] org.freesmartphone.GSM.Network.GetCallingIdentification()
[МЕТОД] org.freesmartphone.GSM.Network.GetNetworkCountryCode()
[МЕТОД] org.freesmartphone.GSM.Network.GetSignalStrength()
[МЕТОД] org.freesmartphone.GSM.Network.GetStatus()
[МЕТОД] org.freesmartphone.GSM.Network.ListProviders()
[МЕТОД] org.freesmartphone.GSM.Network.Register()
[МЕТОД] org.freesmartphone.GSM.Network.RegisterWithProvider(i:operator_code)
[МЕТОД] org.freesmartphone.GSM.Network.SetCallingIdentification(s:status)
[МЕТОД] org.freesmartphone.GSM.Network.Unregister()
[SIGNAL] org.freesmartphone.GSM.Network.SignalStrength(i:strength)
[СИГНАЛ] org.freesmartphone.GSM.Network.Status( a{sv}:статус)
[МЕТОД] org.freesmartphone.GSM.PDP.ActivateContext( s:apn, s:user, s:password)
[МЕТОД] org.freesmartphone.GSM.PDP.DeactivateContext()
[МЕТОД] org.freesmartphone.GSM.PDP.GetCurrentGprsClass()
[МЕТОД] org.freesmartphone.GSM.PDP.ListAvailableGprsClasses()
[МЕТОД] org.freesmartphone.GSM.PDP.SetCurrentGprsClass( s:class_ )
[СИГНАЛ] org.freesmartphone.GSM.PDP.ContextStatus( i:index, s:status, a{sv}:properties)
[МЕТОД] org.freesmartphone.GSM.Test.Command( s:command )
[МЕТОД] org.freesmartphone.GSM.Test.Echo( s:echo )
Виклик методу в інтерфейсі:
root@om-gta02 ~ $ mdbus -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.Device.GetInfo
{ 'imei': '354651011234567',
'виробник': 'FIC/OpenMoko',
'model': '"Вбудований модем GSM Neo1973 GTA02"',
'revision': '"HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko8"'}
Використовуйте його в режимі прослуховування:
root@om-gta02:/local/pkg/fso/framework/framework# mdbus -s -l
прослуховування сигналів на системній шині від служби 'all', об'єкт 'all'...
[СИГНАЛ] org.freedesktop.DBus.NameOwnerЗмінено з org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u'org.pyneo.muxer'), dbus.String(u':1.6'), dbus.String(u''))
[СИГНАЛ] org.freedesktop.DBus.NameOwnerЗмінено з org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u':1.6'), dbus.String(u':1.6'), dbus.String(u''))
[СИГНАЛ] org.freedesktop.DBus.NameOwnerЗмінено з org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u':1.28'), dbus.String(u''), dbus.String(u':1.28'))
[СИГНАЛ] org.freedesktop.DBus.NameOwnerЗмінено з org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u'org.freesmartphone.frameworkd'), dbus.String(u''), dbus.String(u':1.28'))
[СИГНАЛ] org.freedesktop.DBus.NameOwnerЗмінено з org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u'org.freesmartphone.ogsmd'), dbus.String(u''), dbus.String(u':1.28'))
[СИГНАЛ] org.freedesktop.DBus.NameOwnerЗмінено з org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u':1.29'), dbus.String(u''), dbus.String(u':1.29'))
[СИГНАЛ] org.freedesktop.DBus.NameOwnerЗмінено з org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u'org.pyneo.muxer'), dbus.String(u''), dbus.String(u':1.29'))
[СИГНАЛ] org.freedesktop.DBus.NameOwnerЗмінено з org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u':1.30'), dbus.String(u''), dbus.String(u':1.30'))
[СИГНАЛ] org.freesmartphone.GSM.SIM.ReadyStatus від :1.28 /org/freesmartphone/GSM/Device
(dbus.Boolean(False),)
[СИГНАЛ] org.freesmartphone.GSM.SIM.AuthStatus від :1.28 /org/freesmartphone/GSM/Device
(dbus.String(u'SIM PIN'),)
[СИГНАЛ] org.freesmartphone.GSM.SIM.AuthStatus від :1.28 /org/freesmartphone/GSM/Device
(dbus.String(u'READY'),)
[СИГНАЛ] org.freesmartphone.GSM.SIM.ReadyStatus від :1.28 /org/freesmartphone/GSM/Device
(dbus.Boolean(True),)
Використовуйте mdbus2 онлайн за допомогою сервісів onworks.net