其实很简单, 就是人多手杂摸着石头过河摸歪了
对桌面系统各部分没有很成熟的体系结构。
kernel 之所以成功,稳定, 就是体系结构稳定成熟, 把关的团队方向明确。
桌面系统就乱套了
启动脚本 init script 改来改去
udev d-bus 之类的中间层变来变去
Gnome3 Unity 这种自作主张的大搞瞎搞
能不出 bug 嘛
还好 glibc 管得还行
如果每个大的层次上都有 kernel 那样的严格把关
自然能解决这些问题。比如分下面几个组:
安装程序,启动脚本
udev d-bus RPC 这些中间层和 service
X
Gnome, KDE, Unity 这些有各自的团队了
UI 设置工具可以有专门一个组
各个层面都出来稳定的 release, 最后结果自然不错
这样 dependency 也容易控制。慢慢形成大的 package group 之间的 dependency
而不是千万个单个 package 之间的 dependency。
当然这需要更多统一协调,
各公司, 各开发者各自为政那是没戏的