使用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挂掉