zoukankan      html  css  js  c++  java
  • 从bug看DDE底层 dbus

    使用service networking restart命令重启网络后,桌面环境崩溃 


    整个主题都挂了。。。。。。  还有托盘的电源等等。。。
    深度截图也挂了,不能启动


    这个是由于system-dbus没有了导致的(networking其实是upstart )
    大家测试的时候可以使用这个命令
    sudo /etc/init.d/networking restart; sudo /etc/init.d/dbus start
    前一条会使system dbus消失,  后一条会打开system dbus(使状态恢复正常)
    现在测试的情况是
    软件中心, 深度音乐, 桌面, 托盘(网络,账户) 会挂
    其中最惨的是软件中心,  挂了后即使按照我上面提供的这种修复方式也没法再次开启
    原因没有继续查看.
    请相关人员查询自己代码部分.     特别是c绑定的东西.


    大家先不要动
    感觉是gio中 GDBusProxy 的bug,  在dbus-daemo挂了之后,如果用了这个类的就会挂
    不过python中用的dbus好像是glib-dbus的绑定吧?
    desktop挂的原因应该是glib的bug,我先跟踪跟踪


    原因找到了,

    一般dbus的封装库都会在bus_connection消失的时候主动把程序给干掉.

    主要用在session bus上, 一个会话结束的时候,方便结束当前程序.

    所以在system bus挂掉的时候, 任何使用dbus高级库的程序都可能被自己干掉.

    桌面程序考虑到实际情况(桌面会自己跟随session bus而自动退出) 所以对

    system dbus 应用了g_dbus_connection_set_exit_on_close调用,阻止desktop退出.

     这个应该属于系统组的bug了,  networking重启导致system bus挂掉

  • 相关阅读:
    BERT安装与使用
    32(2).层次聚类---BIRCH
    32(1).层次聚类---AGNES
    31(2).密度聚类---Mean-Shift算法
    31(1).密度聚类---DBSCAN算法
    linux环境变量
    Linux 中“一切都是文件”概念和相应的文件类型
    Linux 服务器如何禁止 ping 以及开启 ping
    如何用3个月零基础入门机器学习?
    28款GitHub最流行的开源机器学习项目
  • 原文地址:https://www.cnblogs.com/bbsno1/p/3262912.html
Copyright © 2011-2022 走看看