• linux桌面发行版简介


    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/linux_desktop_distribution

    linux系统

    桌面操作系统:windows,MacOS和各linux发行版。

    2017年数据,windows份额超过90%,MacOS约6%,Linux份额最高的记录在2016年7月创下,是2.33%。

    貌似用linux和MacOS的大多是程序员了。MacOS和linux系统正常使用(看书、上网、看电影等)已经比较成熟,没有太大的体验差异。

    linux系统的主要缺点:

    • 某些常用软件在linux上没有或运行有问题(qq、迅雷、office等,只有deepin通过虚拟windows系统解决得稍好)
    • 完美折腾需要掌握大量相关知识,不折腾难以体现其优点
    • 某些设置复杂(较好的发行版已有极大的改善,某些操作需要使用命令)

    linux作为桌面系统主要优点(作为服务器系统广泛使用不谈):

    • 软件管理容易
    • 可定制性超强
    • 免费(看版权意识)

    对于开发人员,大部分的软件一键安装还解决依赖问题,想要的操作大部分可以通过修改配置和安装软件实现。在运行某些开发软件会明显感觉更快,绝大部分配置通过文本文件容易修改。

    linux发行版

    一般的linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,以及一系列其他的软件包(浏览器、阅读器、文本编辑器等)。由各种组织和个人维护。

    主要用过的几个桌面发行版:

    • 也许桌面用户最多的Ubuntu
    • 不折腾的Arch系Manjaro (当前主力)
    • 和Manjaro在distrowatch上争第一的Ubuntu进化版Mint
    • 号称最美linux的Elementary
    • 超稳定适合服务器的版本Centos (只在服务器上用)
    • 最强国产化linux的Deepin和一般国产化的优麒麟

    下面叙述中不包含在内的主要道听途说

    主流的发行版

    debian系:Debian -> Ubuntu -> Mint | Elementary | Deepin | 优麒麟 fedora : Fedora -> RHEL -> Centos | Oracle linux SUSE : SUSE -> SLES -> openSUSE (没有用过,大多对其评价较为中立,暂不讨论) arch : Arch -> Manjaro gantoo

    其中箭头后的系统基于前面的系统发展,但并不影响前面系统的优势。如Ubuntu基于Debian系统成为较好的桌面系统,但Debian由于其轻量级和可定制仍有广泛使用。

    发行版之间主要区别

    不同发行版的主要区别在于桌面环境、软件包管理器、软件包以及软件包版本的不同。

    包管理

    不同的包管理器在实现功能上差距不大,只是对软件包稳定性的态度决定了能够使用的软件版本。

    Fedora系的yum管理器,对所有能够安装的软件包做严格的测试,软件包的版本一般较旧但极为稳定,因此服务器上使用较多。其中Fedora相比Centos的软件包略新也略不稳定。对于大规模服务器的管理,一般会搭建其自己的软件仓库解决部分需要使用的软件问题。吐槽:工业级软件求稳定就算了,emacs和vim这种编辑器都是老的,想要配置某些插件还需要自己下载源码编译安装…如果没有相关的测试要求,一般不建议使用centos这种作为个人电脑的操作系统,很多桌面软件不是版本偏低就是没有,需要手动安装。

    Debian系使用apt管理软件包,其思路比centos稍激进,软件包版本较新但一般情况下不容易出大问题。通过apt能够下载绝大部分想要的软件,对于某些不在官方仓库的软件能够通过添加apt源安装。因此被桌面系统广泛使用。

    Arch系使用滚动更新的pacman,“一周一小更,一月一大更”。相比上述两个能够安装大多数软件的最新版本。还有AUR第三方用户包的加成,通过yaourt命令能够搜索和安装绝大部分linux上有的软件(典型示例为快速安装tensorflow)。过分激进的更新方式必然影响软件包质量,Arch系的包测试比之前成熟得多,在桌面端很少出现软件更新导致不兼容的bug。Ubuntu的软件源已经够丰富,但习惯AUR安装软件后在Ubuntu上会经常有找不到软件导致的不习惯。

    Gentoo和Arch类似,软件源丰富,能够下载各个版本的软件包源码并自行定制编译的各种选项,还能使多个版本的软件包共同使用。缺点在于自定义的编译需要较强的硬件能力、对大型软件的编译速度较慢。

    桌面环境

    主要决定了界面的显示方式以及任务栏、终端、设置、文件管理器、文本编辑器等软件。一个系统的外观、操作和配置都取决于桌面环境。

    用户量最大的老牌桌面环境 gnome 和 KDE,分别使用基于C语言的gtk和基于Qt的C++开发,有强大的定制性和大量的主题。

    Cinnamon和MATE,相对出现较晚但发展迅速。

    轻量级桌面xfce4、LXDE。消耗内存相对少得多,UI配置靠主题。轻微吐槽xfce4,与wineqq有几个不兼容(强迫症注意),还有个super快捷键的bug。

    Deepin,默认的主题就很不错不用折腾,消耗内存略大,针对qq等wine程序有优化。

    还有很多可以选择的,详见https://wiki.archlinux.org/index.php/Desktop_environment_(简体中文)

    顺便提两个平铺窗口管理器i3wm、awesomewm,配置后可以单独作为桌面环境使用。将窗口分块显示,有很多的配置选项,适合键盘折腾党,可以直接设置各种快捷键。当前主力使用awesomewn,由于i3wm里状态栏的qq经常消失(deepin和manjaro上测试)。

    体验各种桌面环境: arch系支持大多数桌面环境,一般也不存在冲突问题,直接安装Manjaro任意版然后pacman安装其它环境即可,其中还支持deepin桌面(注意最好复制环境配置文件到用户目录得到最优的配置)。

    简单聊聊发行版

    不想折腾的话肯定是国产化deepin,UI炫酷还能在应用商店直接安装各种国产软件和其它优秀软件,能够免费使用wine的收费版crossover。偶尔出现不稳定(貌似已经很少了)。Manjaro桌面加deepin效果也不错,只是没有了deepin应用商店,安装软件要靠命令。优麒麟在Ubuntu本身上变化不大,和deepin比难免在某些问题上背锅,但和Ubuntu的软件包类似可以降低某些软件的兼容问题。

    一般折腾的系统Ubuntu和Mint,Mint更稳定、折腾的地方更少并且有多种桌面可选(轻量级到重量级随便挑),个人认为优势更大。想要更轻量级的还可以从debian折腾起。貌似OpenSUSE也可以算在此范畴。

    推荐稍微熟悉linux系统后使用Arch系或Gentoo(Gentoo有硬件配置要求)。安装arch后需要一步步安装各种包才能好好使用,算学习linux的一种方式,archwiki提供了齐全的文档。不想折腾的可以直接Manjaro,一个Arch的完整配置版,官方和社区提供了各种桌面环境。Gentoo受机器性能限制没折腾过…

    Elementary号称最美,但是默认配置看起来也太朴素了点,国内也没有相关源的镜像导致安装软件包有点不舒服。

    总结:默认的折腾路线Mint/ubuntu/deepin等起步,熟悉后换arch系,电脑配置还行的可以考虑gentoo,需要和服务器保持兼容另说。如果中间感觉用得舒服了停止即可,滚动更新的系统软件丰富,但Debian系肯定也够用不复杂。

    个人感觉

    对于操作系统的圣战,个人感觉linux和windows各有长处,经过一定的配置相互之间都能有对方的功能,没必要崇尚开源精神就贬低windows,更没必要批判linux桌面的不习惯。

    使用Manjaro作为工作系统半年,平时用来写代码、上网、看论文绰绰有余,正常工作效率不亚于windows。linux系统能够不断的定制和积累以不断的提高效率,个人也很喜欢linux的设计哲学。

    但某些东西一折腾就停不下来也算浪费了大量时间,何况linux有折腾不完的东西,需要时刻提醒自己操作系统不是用来折腾的。

    对于喜欢折腾的人值得一试。

    某些不舒服的点:

    • 基于wine的TIM在awesome wm和xfce4下略有bug,deepin wm下基本完美
    • wps配置中文字体后大部分文件正常,偶尔不正常的需要上office online,如果需要外加插入文献的插件,那还是回windows或者直接LaTeX吧

    主力软件:

    • vivaldi+Vimium 浏览器+vim操作
    • zotero 文献管理
    • foxitReader / master pdf editor 阅读和批注pdf
    • wine TIM
    • golden dict 词典
    • 坚果云 同步
    • emacs+spacemacs 只用来做markdown/org/python好像有点浪费
    • vim/spf13 日常文件编辑
    • awesomewm 高效切割屏幕
    • idea JavaIDE
    • zsh+ohmyzsh 只用了几个简单插件
    • fsearch+catfish 做文件搜索
  • 相关阅读:
    使用TFS CI 又想保留服务运行状态的简单方法
    【知乎】二战中日本陆军的建制
    缓存你的BITMAP对象
    Android 多种方式正确的加载图像,有效避免oom
    GitHub进一步了解
    响应式编程,是明智的选择
    Android 主题动态切换框架:Prism
    Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
    ClassLoader工作机制
    Java——泛型(最易懂的方式讲解泛型)
  • 原文地址:https://www.cnblogs.com/fly2wind/p/9993983.html
Copyright © 2020-2023  润新知