如何使用dbus-send

通过Dbus命令行的方法,可以调用程序中的某一个函数:
如下:
run-standalone.sh dbus-send --print-reply \
--type=method_call --dest=com.nokia.hello_world_app \
/com/nokia/hello_world_app com.nokia.hello_world_app.hello_world_dialog_show

这句话的意思是:
调用服务名字(/usr/share/dbus-1/service/里面相应的service文件):com.nokia.hello_world_app
调用的服务名字下面的一个对象为:/com/nokia/hello_world_app
调用该对象接口(com.nokia.hello_world_app)下面的一个函数(hello_world_dialog_show),这个函数没有参数,在源代码里面可以看到这个函数的定义。如果有参数的话,如下类似的调用:

run-standalone.sh dbus-send --print-reply \
--type=method_call --dest=org.freedesktop.Notifications \
/org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteDialog
string:’Hello, world!’ uint32:0 string:’NAO OK!’

这里的函数有三个参数:string,uint32,string


run-standalone.sh dbus-send --print-reply \
--type=method_call --dest=org.gnome.PowerManager \
/org/gnome/PowerManager org.gnome.PowerManager.myTest

在这里,服务名字就是service文件里面的名字,
对象名字一般是含斜线的,
接口名字不一定非得和服务的名字一样。

dbus-send --session --print-reply --dest=org.xfce.FileManager /org/xfce/FileManager  org.xfce.Trash.QueryTrash

在 /usr/share/dbus-1/services/中找到有org.xfce.FileManager.service

--dest=“”参数org.xfce.FileManager.service就对应这个service

后面/org/xfce/FileManager基本是固定写法,将前面service中点替换成/ 意思是调用这个对象

org.xfce.Trash.QueryTrash 调用具体的函数

引用自:

http://blog.csdn.net/vaqeteart/archive/2009/05/06/4155307.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值