孤独酒馆|国产操作系统不仅仅是换皮肤( 三 )

  • 统一的操作接口:比如右键菜单、文件打开对话框、认证对话框等等 , 只有从深层次统一这些底层接口 , 才不会看到不同风格的右键菜单、文件打开对话框、认证对话框 , 这些都对于统一的桌面操作系统体验非常重要 , 想一想如果你自己买的iPhone各处都粗糙不一样 , 你会不会砸了它?但是为啥这么多开源爱好者就能忍受这些粗糙的东西?(因为自己没有花钱 , 花了钱你看他不把客服电话打爆...)
  • 一个完整的桌面系统从技术剖面看 , 从下到上主要分这几层:
    • 内核驱动层:前面已经说了 , 主要是保障硬件的基本功能和兼容性 , 所有的Linux发行版都大同小异 , 差别就是内核补丁集不一样 , 或者集成的驱动和固件多少的差异
    • 显示服务层:从内核引导到plymouth(我们俗称的开机动画)后 , 只要你见到登录界面输入密码的时候 , 这时候X Server已经起来了 ,X Server简单来理解就是Linux系统中掌握着绘制图形界面生杀大权的“天神” , 所有程序要绘制图形的时候都要发送消息到 X Server, X Server才会给你画出来 。同时X Server也是事件输入(键盘鼠标)输出(显示器)的抽象层 , 开发者可以不用考虑底层驱动和显卡驱动细节 , 直接就可以使用X11/XCB的API进行应用开发 , 只不过更多的开发者是使用Gtk+/Qt这些在X11/XCB更上层的API进行应用开发
    • 显示管理器:简单的理解就是你看到的登录界面提示你输入密码的那个地方
    • 资源管理器:这一层主要由一系列的底层守护程序来监控硬件的状态 , 并汇报给上层的桌面环境和应用进一步操作 , 比如常见的就有网络、电源、磁盘、蓝牙、声音、键盘、打印等
    • 桌面环境: 以深度桌面环境为例 , 主要包括桌面环境后台服务和守护进程、桌面环境对外提供图形开发工具库、二进制工具、DBus API服务和桌面环境UI界面层几个部分组成的 , 后面我会详细讲每一个细节
    • 应用商店:主要提供系统的软件安装、卸载、升级等操作 , 保证用户可以安全易用的进行软件管理 , 同时提供了商店的评论和评分等功能
    • 应用程序:主要包括深度开发的系列应用、合作开发的国内应用、Android应用、Windows应用和网页应用 , 开发者在linux系统中内置了Android RAT,因此 , 可以直接运行Android应用 。
    为什么开源的轮子不能用?深度造了那么多轮子 , 为什么不用社区的?
    社区技术大拿很多 , 但是技术强大的同时能把一个应用的UI和交互细节做好的开发者鲜有 社区大部分软件都是面向开发者 , 功能确实强大 , 但是对于小白用户来说太复杂了 深度希望十年之内解决linux桌面的问题 , 我们内部每天几百个commit的快速迭代 , 社区主导开发完了花都谢了 希望做出来再吹牛 , 不想天天在社区打嘴炮 。
    十几年开源社区为什么做不好桌面?主要用户群体是开发者 , 大多数开发者喜欢黑客般的各种功能堆在一起 , 而普通用户只需要简单易用的产品 太过于碎片化:大家不齐心 , 每个人都造半成品互相打压 , 没有形成合力 , 最后社区除了大量的半成品 , 并没有多少应用能够比Windows软件更好(真正能和Windows平台堪比的应用不超过50个) 鄙视小白的氛围不好 , 技术稍微好一点的人就打击小白用户 , 大量真正的桌面小白用户走了以后 , 最后导致大家都不关心桌面的细节体验 做的太少 , 说的太多 , 有行动 , 10年就是翻天覆地变化 , 而不是大家时间长了都失望了 。
    开源社区擅长什么?开源社区适合做远程协助 , 碎片化的事情 , 比如文档和翻译 , 深度社区全世界的翻译贡献者就超过300多名:, 曾经创造西班牙语一星期就翻译完整个系统的奇迹
    开源社区适合吐槽 ,我说的是客观的吐槽 ,各种用户帮助开发团队发现更多测试版的bug和非常非常好的反馈建议 开源社区适合打包移植 ,目前深度桌面已经移植到 Arch, Manjaro, SparkyLinux, openSuse, Ubuntu, Gentoo, Fedora 等发行版


    推荐阅读