发布时间:2022-12-08 15:30
如果我们能够抛开一切与各类发行版出身相关的先入为主的观念、忽略其品牌价值或者社区忠诚性(必须得承认,我们多多少少都会出于社区喜好来选择系统版本)并单纯专注于完美系统自身需要具备的一切特质……那么最终得出的答案会是什么样子?它应该具备哪些特性?
在以往评测各种Linux发行版的时候,我发现自己总会给出“这项设计太赞了!单凭这一点我就愿意拿来一试”这样的评价。必须承认,很多Linux发行版都相当出色——不过其通常还拥有着同样致命的弊端,瞬间打消了我将其作为主要系统方案的念头。
那么这就引出了新的问题:完美的Linux发行版(或者说基于Linux的操作系统)到底应该是个什么样儿?
如果我们能够抛开一切与各类发行版出身相关的先入为主的观念、忽略其品牌价值或者社区忠诚性(必须得承认,我们多多少少都会出于社区喜好来选择系统版本)并单纯专注于完美系统自身需要具备的一切特质……那么最终得出的答案会是什么样子?
在正式开始讨论之前,我最后还要说明一点——我个人心目中的“完美系统”可能或者说肯定不适合所有人,但这也正是Linux的魅力所在。我们可以将自己喜爱的组件加以混合及匹配,并最终拼凑出最符合个人喜好的系统面貌。
遵循这一前提,让我们马上这次探索之旅!一次选一样,组合出完美的Linux发行版。
软件包管理
我真的不在乎自己到底需要在系统中使用“apt-get install”、“zipper install”还是“pacman –S”来安装软件包。这些命令都能顺利起效,而且效果不错(在大多数情况下)。
我真正在意的是我的软件是否能够以.RPM或者.DEB文件的形式进行捆绑。不过答案是否定的,还没有哪款Linux发行版能够满足我的愿望。所以,让咱们暂时忽略这一点,在等待未来可能出现的完美解决方案的同时,先来看看其它一些关键性系统组成部分。
发布模式
我更倾向于选择那种滚动发布的系统方案。我希望自己的软件能够时刻保持最新状态。有鉴于此,像Arch以及openSUSE Tumbleweed这样的系统通常更能打动我。
具体来讲,我希望自己的基础系统能够尽可能长时间地保持稳定。我几乎很少需要对内核或者显示服务器进行更新。因此,能够提供“长期支持”版本的Linux系统方案最对我的胃口。
而在发布模式方面,我最喜欢的是那种能推出在很长一段时间内保持稳定的主要版本内核——至少得能坚持两年时间——这类系统必须坚如磐石,几乎不需要对系统基础层面的代码库做出任何变动。但与此同时,供应商会定期提供额外的代码库来实现最新最强大的面向用户的软件方案(例如火狐浏览器与LibreOffice)。
换句话来说:系统本身应该采用LTS机制,而常用最终用户软件则选择定期快速更新方式。
支持平板电脑(以及其它移动设备)
其实实现这项目标远不像表面上看起来那么困难——至于对我个人而言是如此。
我并不要求自己的桌面操作系统能够运行在每一台平板电脑或者智能手机之上——只需要能在一部分设备中正常运行就可以了。具体来讲,只要其能够轻松简便地在一到两款x86平板上运作,我就表示完全满足。
而且,我也不指望这款系统能够奇迹般地一下子拿出什么触控式用户界面。是的,我压根不想要一大堆出于“移动体验优化”而被开发出来的定制化应用程序。
事实上,对于我这样的技术宅来说,已经有相当数量的桌面环境能够在屏幕小巧且以触控为主的移动设备之上发挥作用——现在我们只需要调整控件与文本的具体大小,就能够很轻松地进行触控操作。这样的系统再配合一套出色的虚拟键盘,我就能在路上继续工作了。
因此,完美的Linux发行版应该至少能为一到两款优秀的平板设备提供硬件支持,同时具备出色的软键盘方案以及轻松调整UI元素尺寸的能力——我的要求就是这样。
默认桌面环境
考虑到对平板设备的支持能力……理想的桌面环境应该呈现出怎样的面貌?GNOME Shell?KDE Plasma?Unity?Pantheon抑或是Enlightenment?
目前已经有多种选项能够满足我们的要求。我个人可能会直接把Unity从推荐清单中删掉,因为其可定制水平不高。另外,虽然我个人目前使用的就是Pantheon,但它也不会出现在推荐表当中(但必须承认,Pantheon的视觉风格确实华丽)。
经过深思熟虑,我想我应该会选择GNOME……再加上一大堆扩展。利用GNOME实现各种定制化需求确实非常轻松,不过GNOME、Plasma与Enlightenment之间的差别并不太大。总之大家凭喜好任选即可。
不对软件做出默认限制
虽然我要选出的理想系统应该是单一一套桌面环境(为了与标题当中的“最佳”相呼应),但我也希望能够随时根据需要转换环境以提供支持及现代化特性。
我还希望能够对自己的系统进行深入调整,其中包括能够安装多种多样的软件方案,而且任何其它系统设计思路在转化为现实之前都应该将这项需求考虑在内。
软件安装机制
虽然我一般会亲自通过终端安装并管理各类软件,不过能够拥有一套图形化应用程序管理器也绝对不是坏事。
关于这一我个人的要求非常简单:能正常起效就行。这套管理器要能够帮助用户轻松发现新软件。另外,它绝对不能慢得跟蜗牛一样(是的,说的就是你,Ubuntu软件中心)。
考虑到这一点,再加上我之前提到自己倾向于使用GNOME,那么GNOME Software似乎就成了最理想的选择。其外观效果不错,而且确实能够发挥作用。
与在线服务相集成
或者更确切地讲,这一条应该是“不会在系统层面与在线服务相集成。”
对,我压根不想要这种功能。我可不希望自己的搜索记录被上报给Amazon。我也不希望自己被自动接入什么社交网络——除非我专门在自己的网络浏览器或者社交网络应用当中进行了设置。
具体来讲,我的计算机应该只在软件更新这一种情况下尝试与服务器对接——除非我通过某款应用手动下令指令。而且即使是在进行软件更新,我也应该能够轻松检查更新内容并自行决定是否进行。
尽可能少搞发明创造
我喜欢的Linux发行版在非必要时绝对不随便推送自己开发的什么软件产品。另外,即使存在硬性需要,该软件也应当以尽可能简单的方式创建,从而让其它项目能够更轻松地对其加以利用。
另外,别搞什么内部开发的桌面环境——在必要时直接使用上游厂商提供的扩展及调整方案。这类代码总能在上游项目当中找到,所以拜托各位发行版开发者别白费力气了。
其实这里提出的这些要求也能帮助开发者在自由与开源社区当中扮演良好的参与者角色。这种负责任的处理方式也会让我在选择一款系统之后为自己的决定感到庆幸。
修改与重新发布
最后,完美的发行版必须能够让用户轻松获取,以自己喜欢的方式加以定制,并重新进行发布。
这意味着系统当中必须内置有相关工具,从而使得任何人都能轻松完成自己理想中的调整(相关工具包括SUSE Studio以及Linux Respin等等)。这也意味着系统自身能够轻松进行标志更换(目前有专门的换标软件包供大家选择),而且在授权许可中不应对重新发布做出任何限制。
最终的发行版赢家是谁?
对我来说,好消息是目前已经有数款Linux发行版能够充分满足我之前提出的各项需要。Ubuntu GNOME版、openSUSE Leap以及Fedora都已经相当接近以上目标——是的,相当接近。
原文标题:What would the perfect Linux distro look like?,作者:Bryan Lunduke
Nvidia jetson nano opencv 3.4.3 GPU版 编译 配置
Q-learning算法辅助求解柔性作业车间调度问题--附带源码测试集模型
做⼀个⾼德地图的 iOS / Android MAUI 控件(下)
SpringCloud微服务实战——搭建企业级开发框架(十一):集成OpenFeign用于微服务间调用
『现学现忘』Docker基础 — 42、补充:save和load命令说明
流量防护&链路追踪及分析-Sentinel+Sleuth(Zipkin)
导入seaborn的数据集方法load_datasets的问题
推理时去除残差结构!RMNet:让ResNet、RepVGG Great Again