如何选择Linux发行版和桌面环境?

一、发行版的选择

目前Linux有大概300个发行版,比较知名的比如Arch Linux、Debian、Manjaro、RedHat、SUSE、Ubuntu,国内发行版比如红旗、麒麟、深度等。

对于家庭和个人用户,以下两个发行版使用率比较高:

  1. Debian

  2. Ubuntu

而Ubuntu是基于Debian的,一个比较大的区别是,Debian是纯粹社区开发的发行版,无正式商业支持;而Ubuntu是商业公司根据Debian开发而来,且提供商业支持。

对于家用和办公来讲,不太用得到商业支持,所以Debian是可用的。另外有一个因素是比较深层次的原因,就是商业主导的开发结果和社区主导的开发结果会导致产品功能上的差异,这个差异对于个人来说,非商业更有优势一些。具体说明可以参考“商业公司的开源意图”。

如果是程序员的话,可能会比较喜欢Fedora。

而如果是企业使用,那么根据用途的不同,通常会选择:

  1. (Debian)

  2. RedHat

  3. SUSE

  4. Ubuntu

其中Debian作为商业目的使用的话,需要企业有一定实力和决策魄力,因为它没有官方正式的商业支持,出了问题以后可能找不到供应商来背锅;而其它三个发行版都有正式的商业支持。

Y 驿窗注:

更多发行版介绍,请参考附录。

二、桌面环境的选择

桌面环境最著名的比如Gnome和KDE,其它还有cinnamon、mate、XFCE等。

对于家用和办公用户,使用频率比较高的是

  1. Gnome

  2. KDE

  3. Xfce

可以用虚拟机运行liveISO看一下它们都长啥样。

Xfce的优势是精简,这使它非常节约硬件资源。劣势是视觉上会感觉比较平淡,不出彩。XFCE的一个典型应用就是虚拟机,虚拟机本身很耗硬件资源,所以,常用的Linux虚拟机,通常不建议使用KDE和Gnome,而是建议使用XFCE。

KDE的优势是大而全,并且操作方式与windows比较像,可自定义的功能比较多。劣势是因为大而全导致占用硬件资源比较多,可能的问题也比较多。

Gnome的优势在于很多应用程序把它作为默认桌面的首选,提供应用程序的版本也以它为主,所以兼容性上会比较有优势。劣势在于,GNOME的有些功能依赖于扩展(GNOME tweak tool),比如ibus输入法的候选字号,这使GNOME桌面显得有些“不完整”。

上面的对比仅限于对个人使用的建议,因为商业目的使用通常不涉及桌面环境。

下面是三个桌面环境不完全测试的详细说明,供参考:

  1. 首先是稳定性,推荐使用XFCE桌面或者GNOME桌面。

作为操作系统,稳定性永远排第一位。从驿窗的测试结果看,目前KDE的稳定性在三个桌面中表现最差,如果您是生产型用户,建议使用XFCE或者GNOME。

稳定性差的具体表现:从Debian10开始,驿窗每年都会对KDE plasma桌面进行LTT(Long-term Testing)测试,本次LTT测试开始于2023年7月的debian12.0。好的方面是,本次LTT测试连续时长超过六个月,并最终稳定性通过测试,之前debian10/11的KDE桌面测试,最长没有超过一个月,最短大概两周左右就无法继续稳定使用。不好的方面是,本次测试期间,前三个月KDE桌面意外关闭或者崩溃的情况比较频繁,最后甚至出现需要重启系统才能解决的情况。这种情况下,重要数据如果未及时保存,会有很大风险。而XFCE和GNOME桌面,基本未出现类似情况。

到了Debian12.3以后,KDE桌面稳定性明显提升,到了12.4,KDE桌面已经完全稳定下来,可以应对生产环境的要求。

前期出现意外关闭或者崩溃的情况有比较强的规律,比如从睡眠中恢复时出现。(不排除硬件问题导致,但从之前GNOME桌面的表现看,硬件问题可能性很小)

Debian10与Debian11的KDE桌面测试失败后,需要重新安装系统以换回GNOME桌面。因为如果在KDE的基础上直接安装GNOME的话,会有很多问题。这一点,也提醒初级用户注意,切换不同的桌面,从稳定性考虑,建议重装系统来实现。

对于Debian12,KDE桌面的LTT测试已经结束,其稳定性已经通过,可以用于生产环境。下一次LTT测试仍然是KDE桌面,不过版本会定在Debian13stable正式发布时,即Debian12不再进行测试,只针对Debian13进行测试。至于Gnome和XFCE桌面,由于其以往的稳定性表现一直没出现问题,所以测试意义不大,故后续会以KDE桌面为主进行LTT测试。

  1. 第二个是方便性(易用),KDE最好,GNOME和XFCE稍差。

KDE桌面对于用户方便考虑得最周到,举几个例子,比如屏幕截图工具,再比如声音切换/控制工具。类似的工具在XFCE或者GNOME上也能安装,但整体感觉总是不如KDE那么顺畅。这里提到的KDE桌面的截图工具或者声音工具,都是KDE plasma桌面环境自带的,不需要额外安装。并且,KDE开放给用户的设置功能,相对比GNOME要更多和更易用一些。

GNOME在易用性上不好的地方比较明显,比如GNOME Shell扩展。有时候旧版本的系统无法与新版本的扩展相适配,这时候就比较麻烦。还有就是,GNOME大幅减少了可以自定义的选项,让GNOME的功能显得不那么多。

XFCE相对KDE和GNOME,从易用性角度来看,主要是系统设置方面显得比较碎片化,即不如KDE和GNOME那么协调,或者整体感不够,刚接触的时候需要适应。推测这也是由于XFCE本身特点所带来的:XFCE追求的是硬件资源少;再就是代码尽可能复用,避免重复开发。这种情况下,整体性构思就被舍弃了。

  1. 第三个是硬件资源消耗,XFCE表现最好,尤其虚拟机推荐使用XFCE。

如果在虚拟机中安装桌面环境,驿窗建议不要使用GNOME和KDE,而是使用XFCE,主要就是因为XFCE对硬件资源占用非常少,这会让虚拟机运行更顺畅,也更节约主机的硬件资源。当然,有特别使用需求的情况除外。

  1. 综上所述,如果您的电脑上有生产项目,那么建议选择GNOME或者XFCE桌面;如果想用KDE桌面,建议在小版本到.3之后再用,比如用Debian12.3,不要用Debian12.2或者Debian12.1;如果是虚拟机或者主机硬件资源不充足(CPU和内存),建议选择XFCE桌面;如果只是体验,系统与数据的安全性并不是特别重要,那么三个桌面均可。有一点需要注意,就是有一些特性在虚拟机里可能无法体验,比如KDE对于声音的切换/控制,因为虚拟机通常不会有这个需求,也就没有对应的选项可以测试。

Y 驿窗注:LTT测试的局限

上述LTT测试主要基于单显卡系统。尤其是KDE桌面环境,其表现可能因硬件变化而有所不同。

如果您使用的电脑是双显卡系统,比如笔记本电脑,很多型号的笔记本电脑都会同时有一个集成显卡和一个独立显卡,那么Linux系统尤其是KDE桌面环境,可能会遇到一些问题。另外,即使是单显卡系统,如果是Wayland桌面环境,目前也仍存在一些问题。

三、个人学习的选择

如果是个人想学习Linux,那么可以根据学习目的来选择发行版:

  1. 如果是为了做与Linux服务/运维有关的工作,那么首先要考虑的是有商业支持的发行版,比如上面提到的RedHat/SUSE/Ubuntu,以应对企业类组织的责任制问题。而桌面环境则无所谓,因为商业目的使用基本上不涉及桌面环境。

  2. 如果是为了自己家用或办公使用,可以考虑Debian或者Ubuntu,优点是应用程序数量庞大。进阶的话可以考虑Arch Linux(能长期自行解决很多问题且),特点是比Debian系更灵活。

  3. 如果是为了深入了解Linux,但主要是为了兴趣,而不是为了到社会上从事Linux相关工作,那么建议先了解Debian,完全上手后再学习Arch Linux。这两个发行版都熟练以后,其它发行版基本上就都能轻松上手。


下面是草稿,未整理:
  • 不同桌面环境的比较/区别/选择建议

  • 为什么会存在多个不同的桌面

  • 为什么会存在多个不同的发行版

不同桌面及发行版的存在,是linux区别于windows/mac的一大特性。我们从“存在即合理”的角度来阐述一下。

每一个发行版,都有主要的话事人,即说了算的人或组织,他们对于发行版的未来发展起关键作用。而之所以这样,一个重要的原因是,话事人在参考其它发行版开发时,一方面不能按自己的理念意志前进,另一方面,担心自己的成果没有任何回报,还有一个方面,就是希望未来有机会崛起。这三个方面,都需要话事人身份才可以办到,所以,那些有能力的人在发现无法决定发行版的走向时,会考虑创建一个新的发行版,来实现部分或全部三个方面的掌控。桌面环境同理。

对于用户来说,这有正负两个方面需要了解。负的方面是,不同的发行版,不同的桌面环境,导致新用户出现选择困难症。正的方面是,发行版之间、桌面环境之间,会存在一定的竞争,这种竞争的部分结果(比如代码)是完全公开的,这对用户有利,因为如果没有竞争一家独大的话,谁也无法保证这一家会不会逐渐发展成windows相同的模式/形态。

所以,总体上,对于用户来说,多个发行版/桌面环境,是好事。至于选择困难,我们接下来说。

首先,选择困难仅是针对小白用户/初入门用户才会出现,一旦入门,就不再是问题。而且,目前很多个技术专门解决跨发行版的问题,比如appimage/flatpak/snap。

其次,如上一条所述,入门以后,发行版不再是问题,所以,不推荐把资源浪费在 跨发行版 这个问题上。原因:我们看一看跨发行版技术带来的意义。前面说了,是针对初入门用户/小白用户,一旦稳定使用,就不再需要考虑发行版问题,所以,跨发行版其实是为了满足那些不会linux和没用过linux的人群准备的。一旦会了,那么这个技术方案意义就不是雪中送炭,而是锦上添花。

第三,关于未来。跨发行版技术,比如flatpak,未来是否会导致各个发行版不再维护自己的官方仓库?至少短时间内看不出来有任何可能。

Linux系统与windows系统一个很大的不同是,可以自己选择使用哪种桌面环境,而windows的桌面是无法自己选择的。

目前比较流行的用户桌面环境,主要有Gnome、KDE、XFCE等,国内开发的有Deepin。

总体上,Gnome更简约,比较适合非程序员用户,而KDE和XFCE等桌面环境,更符合程序员思维。这里的程序员思维指的是,从程序员的角度来开发桌面环境,而不是普通用户角度。对于开发人员来说,无论哪个桌面环境,开发人员都尝试考虑用户的感受,并从用户角度出发进行功能/界面的设计,但仅仅是从用户角度,而不是真正的用户角度,所以,本质上,还是程序员在进行设计,结果就是,大概率还是程序员思维的产物,也就更适合程序员的习惯,不适合普通用户的习惯。这一点上,Gnome相对更好一些,更适合普通用户,而不是程序员。

这里有一个问题,就是普通用户其实并不清楚自己的思维习惯和思维方式在桌面环境中应该如何休现,就像苹果前CEO乔布斯所说,用户根本不知道自己要什么。这种情况下,身为程序员的开发人员在开发桌面环境时,已经缺少必要的基础,基本上很难开发出真正符合普通用户的桌面环境。所以,Gnome也只是相对更好一些,不是完胜。

我们通常习惯性的从速度、易用性、资源占用等多个角度对桌面环境进行双比评价,但这些评价参数本身仅是最终产品的一个方面而已,不是全部,所以,这些评价的结果,也只能是具备一定程度上的参考价值,最终还是要看用户的使用习惯(这里仍然要考虑学习曲线)。

最近一次更新:2024年02月01日

未完稿……