这是命令 mdbus2,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
mdbus2 - 交互式 DBus 内省、交互和监控
概要
MD总线2 [选项...[ 为我服务 [ 对象路径 [ 方法 [ 参数... ] ] ] ]
MD总线2 -是的
MD总线2 -sl
商品描述
MD总线2 命令用于探索您的 DBus 服务并与之交互 系统 总线
和 会议 总线. 系统范围的消息总线只存在一次,并且安装在许多
系统作为“消息总线”服务。 会话消息总线是每个用户登录(启动
每次用户登录时)并且通常与您的 X11 会话相关联。
mdbus2 以最简单的形式显示所选总线上的可用服务。 给定一个
服务 姓名, 它将显示可用的 对象 由服务导出。 给定服务
名字和一个 对象 径, 它会显示暴露的 方法, 信号及 在那
目的。
提供一个 方法 姓名 (和 参数),您可以调用对象的方法并获取
回报 折扣值(S)。
在 听 模式,您可以观察所选总线上发送的信号。
还包括一个 互动 壳 带有制表符完成和命令历史记录。
配置
--显示-匿名, -a
还显示 独特 (匿名)巴士上的服务。
- 系统, -s
使用系统总线而不是(默认)会话总线。
-显示pid, -p
显示 UNIX 进程 ID。
- 听, -l
开启监听模式,可以观察总线上的信号。
- 交互的, -i
启动交互式 shell。
--注释类型, -t
注释 DBus 类型。
用法
要在服务实现的对象上调用方法,您需要指定
以下值:
1 服务 姓名,例如 org.freesmartphone.ogsmd – 服务名称标识
服务于多个对象的进程。 附加到的每个进程
bus 至少分配了一个非唯一(匿名)服务名称,例如
:1.0. 唯一名称,例如 org.freesmartphone.ogsmd, 通常给出
全小写反向域名表示法。
2 对象 径,例如 /org/freesmartphone/GSM/设备 – 对象路径
标识进程服务的一个具体对象。 对象路径通常
看起来像文件系统路径。
3 方法,例如 org.freesmartphone.GSM.Call.Initiate – 方法名称
标识作为接口一部分的操作(方法和信号)
的一个对象。 方法名称正在使用 骆驼套 用点表示法。
4 参数,例如 +49123456 声音`。 (至 be 描述 更远)。
示例
找出当前在系统总线上注册的总线名称:
root@om-gta02:~# mdbus -s
:1.0
:1.1
:1.2
:1.42
:1.47
:1.60
:1.61
组织蓝调
org.freedesktop.Avahi
org.freedesktop.DBus
org.freesmartphone.frameworkd
org.freesmartphone.ogsmd
org.pyneo.muxer
找出某个服务服务于哪些对象:
root@om-gta02:~# mdbus -s org.freesmartphone.frameworkd
/
/组织
/org/freesmartphone
/org/freesmartphone/框架
/org/freesmartphone/GSM
/org/freesmartphone/GSM/设备
/org/freesmartphone/GSM/服务器
找出某个对象的接口:
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:number, s:type_)
[方法] 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:number)
[方法] org.freesmartphone.GSM.SIM.StoreEntry( i:index, s:name, s:number )
[方法] org.freesmartphone.GSM.SIM.StoreMessage(s:number, s:contents)
[方法] org.freesmartphone.GSM.SIM.Unlock(s:puk, s:new_pin)
[信号] org.freesmartphone.GSM.SIM.AuthStatus(s:status)
[信号] org.freesmartphone.GSM.SIM.NewMessage( i:index )
[方法] org.freesmartphone.GSM.Network.DisableCallForwarding(s:reason, s:class_)
[方法] org.freesmartphone.GSM.Network.EnableCallForwarding(s:reason, s:class_, s:number, i:timeout)
[方法] 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()
[信号] org.freesmartphone.GSM.Network.SignalStrength( i:strength )
[信号] org.freesmartphone.GSM.Network.Status( a{sv}:status )
[方法] 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': '"Neo1973 GTA02 嵌入式 GSM 调制解调器"',
'修订':'"硬件: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”的 SystemBus 信号...
[信号] org.freedesktop.DBus.NameOwnerChanged 从 org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u'org.pyneo.muxer'), dbus.String(u':1.6'), dbus.String(u''))
[信号] org.freedesktop.DBus.NameOwnerChanged 从 org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u':1.6'), dbus.String(u':1.6'), dbus.String(u''))
[信号] org.freedesktop.DBus.NameOwnerChanged 从 org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u':1.28'), dbus.String(u''), dbus.String(u':1.28'))
[信号] org.freedesktop.DBus.NameOwnerChanged 从 org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u'org.freesmartphone.frameworkd'), dbus.String(u''), dbus.String(u':1.28'))
[信号] org.freedesktop.DBus.NameOwnerChanged 从 org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u'org.freesmartphone.ogsmd'), dbus.String(u''), dbus.String(u':1.28'))
[信号] org.freedesktop.DBus.NameOwnerChanged 从 org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u':1.29'), dbus.String(u''), dbus.String(u':1.29'))
[信号] org.freedesktop.DBus.NameOwnerChanged 从 org.freedesktop.DBus /org/freedesktop/DBus
(dbus.String(u'org.pyneo.muxer'), dbus.String(u''), dbus.String(u':1.29'))
[信号] org.freedesktop.DBus.NameOwnerChanged 从 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),)
使用 onworks.net 服务在线使用 mdbus2