国产操作系统不仅仅是换皮肤

珠江路在线   2020年11月6日  【 转载 】 

昨天写国产操作系统的文章,头条推举量 打破10万,这 证实国人对国产操作系统还是很关注的 。有很多人也私信给我各种技术问题,其中能解答的我也有回复 。也有很多问题由于超出我 常识的盲区, 无奈做出解答,十分 抱歉 。

原来今日要推QT5的探究文章,但通过昨天的 探讨,我觉得很多国人对国产操作系统上有误会,“这不便是在linux系统上换一个皮肤嘛”,这种评论我听到的最多 。所以我觉得有必要给对国产操作系统有误会的人做个科普 。让大家了解这么多年我们在国产操作系统上做了哪些工作 。

什么是桌面操作系统?

桌面操作系统便是大家寻常电脑里面用的操作系统 。 桌面操作系统应该是全部操作系统类型中最为复杂、研发技术难度最高的一种操作系统了 。 世界上十分优异的桌面操作系统有微软的Windows和苹果的Mac OS, 其余的Linux桌面操作系统, 比方Fedora、Suse、Ubuntu包含我们自己的deepin操作系统, 固然这十几年 获得了长足的 遍及,然而 有关于Windows和Mac OS, 不管技术先进性、交互设计还是产品 品质方面都还有十分大的差距 。

桌面操作系统都有哪些 部分构成?

一个一般消费者 使用的桌面操作系统的构成 部分重要包含:

  • 内核、驱动以及固件:重要用于驱动硬件 能够 畸形工作,除了CPU、内存、磁盘外,最重要的是要 宽泛兼容不同的网卡、显卡、声卡和外设等硬件 设施 。
  • 软件仓库及很多开发库:假如没有开源社区很多大神打包好的软件仓库和各种开发库,要基于Linux来开发一个操作系统甭说开源 爱好者,甚至便是一个中型公司都很难做起来, 能够说开源软件仓库从 性质上转变了操作系统和开源软件的开发模式, 丰盛的软件仓库使开源开发者、组织和公司 能够 使用最新技术的同时开发成本也减低了很多 。
  • 桌面环境:便是大家寻常一开机就用到的桌面、 使命栏和开始菜单等, 能够说一个高 品质和交互设计极佳的桌面环境 能够极大减低消费者 使用新的桌面操作系统的门槛 。
  • 利用商店:关于消费者来说,绝对不只仅是一个好玩的桌面环境就能留下的,没有好的 利用商店带来的海量 利用和容易易用的安装操作,一般消费者用几天就会抛弃, 能够说 利用商店是留住一般消费者的最 根本要求 。
  • 预装 利用:在国内来看,至少需求解决QQ、Office、网银和一系列容易易用的多媒体 利用 能力算是一个好用的桌面操作系统 。当前国产操作系统 能够兼容很多windows软件,若是有迫切的需求, 能够去官网提交自己的需求来加快适配 。

什么是桌面环境?

桌面环境 容易来说,便是在内核和X Server之上,写一批程序让消费者登录后就 能够直觉性、流畅的 使用桌面、 使命栏、开始菜单、文件操作和系统设置 。

这里对X server做个科普,X server是Linux系统里面图形接口服务器的简称 。

Windows系统的界面是这个系统不可分割的一 部分,各种窗口操作界面显示都是由系统核心直接治理的,

而Linux的图形界面并不是系统的必要构成 部分,它 能够在无界面的条件下运行 。当需求Linux提供界面的时候,系统就会 构建一个或者数个X server,通过X 协定跟窗口治理器交互,由独立于系统的 利用程序来产生窗口,状态栏,按钮之类的交互界面 。

比较常见的Linux界面操作环境有KDE和GNOME,为它们提供系统 支撑的便是X server,而并非Linux核心 。

总结一下linux图形界面 档次关系:

linux 本身-->X服务器<-[通过X 协定交谈]->窗口治理器(综合桌面环境)-->X 利用程序 。

这个世界上从 性能 完全性和产品 品质来看重要有四个桌面环境:

  • RedHat主导开发的Gnome, Gnome2的 巩固性和性能都十分好,包含后面的Mint桌面都是衍生于Gnome2 。
  • Suse主导开发的KDE: 能够说 性能最为 丰盛的桌面环境,包含产品 品质以及性能每年都在飞速 遍及 。
  • Ubuntu主导开发的Unity: Unity身上还是 能够看到很多Gnome2的影子,产品 品质和性能都不错,Ubuntu自己独立开发了Mir、Unity桌面环境和一些全局菜单等独特 特点 。
  • Deepin主导开发的DDE: 作为DDE的开发者,客观的评介,产品 品质、设计视觉都 相符中国人的习惯,很多地方的交互设计细节要比 其余桌面环境做的更加精巧和 容易,重要面向开箱即用的非技术型消费者,从 性能设计上并不 合适技术高手和那些 原来就喜爱折腾的技术型消费者

其余轻量型的桌面环境, 比方LXDE、XFCE、Enlightenment 固然性能极佳,然而从桌面环境的 性能 完全性和交互设计的精巧性上都不够, 比较 合适有 定然技术深度, 谋求性能和自己配置多于开箱即用的技术型消费者 。

剩下的便是一堆平铺类窗口治理器, 比方大家熟知的:awesome, i3, xmonad, dwm, stumpwm等等,这些窗口治理器型的桌面环境有300多个,我曾经为了探究全部桌面环境的 特点,把这些窗口治理器都用过,最喜爱的是xmonad 。这类窗口治理器的 能够把个人的工作环境内存和性能 消费降到极低,并且可定制性极强,甚至 能够通过编程来打造自己 唯一无二的工作环境 。这类窗口治理器型的桌面环境 比较 合适开发人员和黑客,固然也不乏国内一大批装X消费者 。

桌面环境和那些换主题的工作差别在哪里?

能够说,桌面操作系统的核心技术和产品功力都聚焦在桌面环境上 。 惟独 主宰了桌面环境这个古老而又深奥的核心技术, 能力说在桌面操作系统上 能够任意 批改和改良, 能力给消费者带来更好的消费者体验 。

由于桌面环境强调的是从上至下全栈技术攻克, 不管技术深度、技术全面性和代码工程量来说都是 硕大的,开发一个 性能 齐备的桌面环境需求20+人以上的团队工作 起码2年以上 能力打造出来,并且桌面环境的技术核心全部都依赖一批古老的 协定, 比方:x11、xcb、composite等 根底技术,互联网上 几乎没有文档教你怎么一步一步的构建桌面环境,现成的桌面环境由于进展多年,代码已经十分复杂,最多不得不从核心代码片段有所学习 。一个人要自上而下框架式的学习桌面环境核心技术并实现一套 性能 齐备的桌面环境 几乎不可能 。

所以,大 部分的Linux发行版都是基于Gnome、KDE改的,大多数都是在网上找一批主题(Gtk+主题、图标主题、光标主题、窗口边框主题、DM主题、锁屏主题)再配上一张好看的壁纸就 能够做一套自己DIY的桌面环境 。很多Linux社区的消费者说,你看我自己都 能够做桌面环境,甚至很多国内的Linux发行版厂商也是拿着社区的桌面环境 而后换一套皮肤就去骗政府的钱,说自己是自主研发的操作系统 。

既然换套主题也 能够很好,那么桌面环境和那些换主题的工作差别在哪里? 在我看来,重要在几个方面:

  • 核心技术 威力:假如没有 主宰桌面环境的核心技术,全部的 批改 威力仅仅限于 批改主题、logo、字符串替换的 威力
  • 产品 品质 无奈保障:特殊是有很多 隐秘性的bug,假如不 主宰核心技术,连问题 产生的缘由都不晓得,更不用提怎么解决
  • 设计细节:假如大家 细心看那些只是套用主题的桌面环境,就会发现外面看着还 能够,然而很多按钮的 色彩、留白以及控件的对齐都是有问题的,甚至是 毛糙的,为何?这是由GTK+的主题设计招致的,GTK+强调的是一套原生控件打天下,然而面对无穷的 利用和需求,不是全部的交互都能靠一套控件 能力满足的,在大多数Linux社区开发者不具备控件自绘的 威力前提下,大多数开发者都 取舍套用不 适合的控件和控件主题去拼装,而GTK+主题的作者不可能在制作主题的时候测试全部软件,并且从GTK+先天 制约也做不到,最终招致 不管怎么套用主题,各种软件拼装在一同,就像各种 品质 错落不齐的补丁拼在一同一样的,大多数开源社区开发者被虐很多年 能够 忍耐 毛糙的设计细节,然而关于一般消费者来说,这种拼装的设计细节就像拿着当年的诺基亚和现在的iPhone7放一块的觉得那么强烈 。
  • 统一的操作接口: 比方右键菜单、文件 打开对话框、认证对话框等等,惟独从深 档次统一这些底层接口,才不会看到不同 格调的右键菜单、文件 打开对话框、认证对话框,这些都关于统一的桌面操作系统体验十分重要,想一想假如你自己买的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多名: https://www.transifex.com/linuxdeepin/public/ , 曾经制造西班牙语一礼拜就翻译 完全个系统的 奇迹

开源社区 合适吐槽, 我说的是客观的吐槽,https://bbs.deepin.org/ 各种消费者协助开发团队发现更多测试版的bug和十分十分好的反馈 提议 开源社区 合适打包移植, https://www.deepin.org/dde/desktop-transplantation/ 当前深度桌面已经移植到 Arch, Manjaro, SparkyLinux, openSuse, Ubuntu, Gentoo, Fedora 等发行版

国内技术圈偏见

我在开源社区十几年看到国内技术圈很多偏见,最重要的有几个:

  • 拿着自己的平铺式窗口治理器装X,鄙视小白消费者:其实玩过的人都晓得,便是一些配置,花一些耐心和毅力就能搞定,这些不得不 证实你 比较能折腾,但折腾并不代表你的学识渊博和 威力高超,更不是鄙视和 冷笑别人的资本
  • 认为惟独玩内核才是技术高手: 不懂linux的人这样认为,很多开发者也这样认为,真正开发内核的开发者都晓得,内核开发和 利用开发和 其余任何开发都一样,唯一的不同便是更难调试,更复杂 。不是只会内核开发的开发者才是最厉害的人很多内核的开发都要和 利用以及 事实场景配合才故 意思 。更不是自己会编译内核就开始了不起了
  • 认为做UI和桌面环境很容易: 其实很多 冷笑做UI的人, 即便是一些开发者,我相信大 部分人连XCB以及窗口移动,甚至窗口 暗影都绘制不出来,在国内看到太多拿着无知当权威的喷子了, 指望这些人长大以后学会 谦卑 。其实大家都是看着功成名就来评判的,苹果应该是这个世界上折腾UI细节最多的公司,然而没有人说苹果只会UI,为何?国人就喜爱打压还没有 顺利的公司, 而后跟风吹捧 顺利的公司和产品
  • Linux便是应该折腾: Linux早期的折腾关于开发者来说是十分有协助的,然而人都有会老,都会累的那一天(要不是为何达拉斯黑客大会那么多大牛最终用Mac, 是由于他们折腾没有你多吗?),一旦折腾完Linux就应该花更多 工夫去学习新的 常识或享受生活, 而不是向来都在折腾, 而后鄙视不会折腾的人 。

通过上面的科普,大家还有认为国产系统仅仅是换肤那样 容易的 事件吗?我认为大家应该尊重每一位技术开发者,然而真的关于那些 彻底不基于 考查,只是简 容易单基于对国内开发团队鄙视而轻言下 论断的人感到痛心, 指望国人基于事实 支撑好的产品和团队, 停留 所有不实的 袭击 。

免责声明:凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。