QT DBUS: Not connected to D-Bus server, 注意source /etc/profile
2024-10-20 16:02:22
运行环境:ARM
运行如下代码:
QDBusConnection bus = QDBusConnection::sessionBus();
if(!bus.registerService("com.speedpro.venus")){
qDebug() << "MessageServer" << bus.lastError().message();
exit(1);
}
遇到问题: Not connected to D-Bus server
手动启动server:dbus-daemon --session --print-address --fork --print-pid
得到输出:
unix:abstract=/tmp/dbus-joKjEI2Nlt,guid=ba3900731f265bfec1fa867f5d1061881372
重新运行程序,问题依旧。
使用如下代码启动DBUS服务:
eval `dbus-launch --auto-syntax`
哇哦,竟然成功了。
这行命令的意思是:
采用eval来执行两次,第一次执行dbus-lauch --auto-syntax,除了启动dbus daemon之外,还输出了下面的内容(改内容在命令行不可见):
DBUS_SESSION_BUS_ADDRESS='unix:abstract=/tmp/dbus-bIg8pa0xJr,guid=704d5838c9c3408b858966205d1064b4';
export DBUS_SESSION_BUS_ADDRESS;
DBUS_SESSION_BUS_PID=;
第二次执行时就将环境变量DBUS_SESSION_BUS_ADDRESS暴露出去了。所有的dbus application在注册DBUS服务时,必须知道这个DBUS_SESSION_BUS_ADDRESS的数据。
第二个问题:
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
使用
eval `dbus-launch --sh-syntax`
可以。
一定要记得重新加载系统配置:
source /etc/profile
最新文章
- Java多线程卖票例子
- Web jquery表格组件 JQGrid 的使用 - 全部代码
- C# 线程调用主线程中的控件
- 裴波那契数列 JavaScript 尾递归实现
- Bug2算法的实现(RobotBASIC环境中仿真)
- wamp中的phpmyadmin打开出现:#1045 - Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: NO)
- RequireJS入门(二) 转
- 读取XML文件节点数据
- 11G内存设置一例
- vue-cli中如何引入jquery
- 由于DG Broker的配置导致RAC某实例无法mount
- 树的简介及Java实现
- SpringBoot技术栈搭建个人博客【项目准备】
- 基于MNIST数据集使用TensorFlow训练一个包含一个隐含层的全连接神经网络
- spring cloud: zuul: 微网关-简单使用与路由配置
- AI标尺,管理面板5.8
- AS打开速度慢,AS项目导入慢,新建项目导入慢
- 前台登录和Token信息交互流程
- 12个有趣的 XSS Vector
- linux环境下git的安装配置