SSH登录到服务器通过D-BUS调用应用API问题

来源:互联网 发布:ubuntu wine 卸载软件 编辑:程序博客网 时间:2024/06/15 00:31

   有些应用的API是通过D-BUS与应用进行通信的,但是在调用Skype的API时,本地都没有问题,因为是桌面环境,但是到服务器端,登录SSH登录后, 连接D-BUS的时候,D-BUS报错了, 报的错误是Unable to autolaunch a dbus-deamon whithout a $DISPLAY for X11,以为是桌面环境的问题,但是SSH登录不可能有桌面环境啊, 后来经过尝试,发现了下面的解决办法:

Skype在启动的时候,开通了一个D-BUS通道,但是环境变量中没有,所以终端登录后,autolaunch找不到这个通道,只要找到这个通道,然后设成环境变量,这样就可以了:


   首先,启动应用后,在启动的终端调用一下echo $DBUS_SESSION_BUS_ADDRESS, 会输出类似

unix:abstract=/tmp/dbus-4h4jtjHxzW,guid=efd5cd5bd7344e5d06b30fe300000d5b


   然后,在SSH登录终端的时候,导入一下环境变量: 

export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-4h4jtjHxzW,guid=efd5cd5bd7344e5d06b30fe300000d5b


   之后再通过D-BUS通信的时候,就完全没有问题了。

原创粉丝点击