【标题描述】日志收集工具显示异常
【环境信息】
虚拟机
软件信息:openEuler 23.09 rc3
1) OS版本及分支
2) 内核信息
arm:6.4.0-3.0.0.11.oe2309.aarch64
x86:6.4.0-3.0.0.11.oe2309.x86_64
【问题复现步骤】
进入DDE桌面,打开启动器,打开日志收集工具,查看日志情况
【预期结果】
日志显示正常
【实际结果】
启动日志、xorg日志、应用日志都为空
【附件信息】
Hi wulei-git, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: sig-DDE, and any of the maintainers: @weidongkl , @Lvcongqing , @liyf , @杨显钊 , @leeffo , @layne yang , @hanshuang
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
申请遗留稍后处理。
以下是我们分析的原因:
1.使用d-feet启动com.deepin.logviewer 系统DBus服务,DBus服务启动log-view-server后端,后端进程同样不能访问/var/log/、~/.cache/deepin/目录内容,单独启动后端能够访问。结论:DBus服务启动的后端进程,访问/var/log/、~/cache/deepin/目录内容失败。
2.后端服务是由DBus系统总线启动,变更为任务总线,DBus启动后端服务失败。
3.在DBus服务启动的log-view-server后端内,创建QProcess进程,使用ls -ll查看路径权限,与命令行中查看的权限一致。结论:后端进程子进程权限没有问题。
4.先启动后端服务,因为前后端DBus绑定关系,前端发送的DBus请求,后端并不能收到,因此DBus请求的结果为空。结论:伪造Desktop,让后端服务启动方案不可行。
经过分析,deepin-log-view工具只影响boot,Xorg, application 日志展示,不影响DDE桌面环境及其他子应用功能。建议稍后解决。
问题根因:
dbus服务唤起的 非/usr/bin/ 目录下的进程,对/var/log和~/家目录没有访问权限,导致log-view-service后端进程不能正常访问上述目录中的文件。
临时解决方案:
1.将/usr/lib/deepin-daemon/log-view-service拷贝到/usr/bin/下
2.修改/usr/share/dbus-1/system-services/com.deepin.logviewer.service文件,将exec字段的路径改为/usr/bin/log-view-service
完成上述操作后,启动日志收集工具,就能正常查看Xorg日志、应用日志。
对于启动日志,因为/var/log/boot*.log日志不存在,启动显示为空是正常情况。
后续需要确认的情况 :openEuler系统下的DBus服务唤醒的进程,在何处做了启动路径检测限制,即DBus唤醒的进程,如果启动路径没在/usr/bin下,就没有/var/log/、~/家目录等路径的访问权限。
已在pr:https://gitee.com/src-openeuler/deepin-log-viewer/pulls/15 中解决,故关闭当前issue
/close
登录 后才可以发表评论