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 做文件搜索
linux桌面发行版简介的更多相关文章
- 世界排名前三的Linux桌面发行版
linux操作系统 1.MX Linux 2.Manjaro 3. Linux Mint 1.MX Linux https://mxlinux.org 中文用户不太友好 2.Manjaro https ...
- 盘点十大最流行的Linux服务器发行版
随着Linux不断发展,Linux所支持的文件系统类型也在迅速扩充.很多的数据中心服务器上都运行着Linux,可以节省大量的许可证费用及维护费用.但伴随着Linux新版本的发行,其中每一个不同版本的L ...
- 常见Linux的发行版有哪些?并描述不同发行版之间的联系与区别。
一.按系列罗列linux的发行版,并描述不同发行版之间的联系和区别 Linux发行版=Linux内核+商业软件 linux的发行版: RedHat.Fedora.suse.红旗.debian.Ubun ...
- 2018值得选用的五个Linux服务器发行版
[IT168 编译]据最新统计,目前Linux发行版约有300种,几乎都可以作为服务器系统运行.在Linux早期,几乎所有发行版都是“万能”发行版,专门的Linux服务器发行版并不火热,到21世纪初, ...
- Xubuntu 计划从 19.04 版本开始停止提供 32 位安装镜像(XDE/LXQt的 Lubuntu 成为了目前唯一仍然提供 32 位安装镜像的 Ubuntu 桌面发行版)
Ubuntu 17.10 以及其他许多 *buntu 衍生品都已在今年早些时候停止提供 32 位安装镜像.但其中有一个依然坚持提供适用于 i386 架构的镜像,它就是 Xubuntu,但现在 Xubu ...
- linux 各种发行版及包管理器的关系
linux 各种发行版及包管理器的关系 Linux发行版列表 基于Kpkg(Debian 系) Debian GNU / Linux 及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为包管 ...
- CoreOS,CoreOS,一款 Linux 容器发行版
CoreOS,一款最新的 Linux 发行版本,支持自动升级内核软件,提供各集群间配置的完全控制. 关于使用哪个版本的 Linux 服务器系统的争论,常常是以这样的话题开始的: 你是喜欢基于 Red ...
- 主流Linux发行版简介
发行版 包格式 所属厂商 发布年份 最新版本 说明 RHEL RPM RedHat 2004 7.3 RedHat Linux9.0后的企业方向,系统可以免费下载安装但无法使用官方yum源 Fedor ...
- 使用U盘安装Linux最美桌面发行版Elementary OS 及常用开发环境配置(JDK,Redis,MySQL,Docker,IDEA,STS)
前言 假期在家无聊,刚好把六年前的一台笔记本电脑利用起来,原来电脑虽然说配置说不上古董机器,但是运行win系统感觉还是不流畅,所幸给换成Linux桌面版系统,在网上查阅了很多,Linux桌面系统要么推 ...
随机推荐
- Dev GridControl 子集合标题
显示效果: 设置: this.gridView3.OptionsView.ShowViewCaption = true; this.gridView3.ViewCaption = "资产明细 ...
- Java 面向对象_接口
接口定义 接口就是多个类的公共规范 接口是一种引用数据类型, 最重要的内容是其中的抽象方法 定义格式: public interface MyInterfaceAbstract { // 这是一个抽象 ...
- Mac Book触摸板失灵的解决办法(触摸板按下失灵)
1. 先关机 2. 同时按住 command+option+R+P 3. 按电源键开机,同时手指保持按住前几个按钮的姿势. 4. 等待电脑发出四下“deng”的声音后松开即可.每次发声间隔大概6~7秒 ...
- Python基本数据类型及实例详解
Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对 ...
- FICO-Payment Terms 收付款条件和分期付款设置
转载:https://www.cnblogs.com/weichuo/p/3524278.html Payment Terms 收付款条件和分期付款设置 SAP Payment Terms 中文翻译为 ...
- 简单记录一次注入到shell
0x00 前言 帮朋友之前拿的一个站,有点久了没有完整截图,简单记录一下. 0x01 基础信息 操作系统:win 集成环境:phpstudy 端口开放:82,3306,3389 有phpmyadmin ...
- flutter常见编译运行等奇怪问题的汇总汇(l转)
1. flutter ios 卡死在闪屏页:解决办法: 1) flutter doctor 2) flutter clean 3) flutter build ios --release 4) Arc ...
- Vue学习官网和Vue的书籍 目录结构
Vue基础知识学习网站[中文] https://cn.vuejs.org/v2/guide/ Vue路由知识学习网站[中文] https://router.vuejs.org/zh/guide/ V ...
- SQL SERVER-邮件配置
存储发邮件 USE msdb GO EXEC sp_send_dbmail @profile_name = 'mail_pro', @recipients='Jinwei.chang@quantacn ...
- 小程序数据绑定和setData
我们wxml没有直接调用数据的能力,我们的逻辑是通过js调用数据,再由js传递给wxml才能够显示出来.那么怎么由js传递给wxml? 首先我的js里面有这样一段代码 process: funct ...