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桌面系统要么推 ...
随机推荐
- Java开发Hbase示例
Java开发Hbase示例 使用Hbase操作数据 package com.sunteng.clickidc.test; import java.io.IOException; import java ...
- 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止
C:\Windows\system32>cd C:\Program Files\mysql-8.0.18-winx64\bin\ C:\Program Files\mysql-8.0.18-wi ...
- centos7上使用git clone出现问题
centos 7 git clone时出现不支持协议版本的问题 unable to access 'https://github.com/baloonwj/TeamTalk.git/': Peer ...
- VBA Excel对象(十九)
使用VBA进行编程时,用户将要处理的重要对象很少.下面是一些常见的对象 - 应用程序对象 工作簿对象 工作表对象 范围对象 应用程序对象 应用程序对象由以下部分组成 - 应用程序范围的设置和选项. 返 ...
- unity 刚体
刚体属性(rigidbody)标明物体受物理影响,包括重力,阻力等等. mass为重量,当大质量物体被小重量物体碰撞时只会发生很小的影响.. Drag现行阻力决定组件在没有发生物理行为下停止移动的速度 ...
- Shiro安全框架入门使用方法
详见:https://blog.csdn.net/qq_32651225/article/details/77199464 框架介绍Apache Shiro是一个强大且易用的Java安全框架,执行身份 ...
- LNMP环境搭建BBS论坛及伪静态
我们在mysql备份 LNMP环境中的数据库迁移为独立的服务器的基础上搭建BBS论坛: [root@bqh-117 ~]# mysql -uroot -p123456 Welcome to the ...
- 【Distributed】分布式解决方案【汇总】
一.问题引出 二.分布式Session问题 三.网站跨域问题 四.分布式任务调度平台 五.分布式配置中心 六.分布式锁解决方案 七.缓存技术 一.问题引出 [Distributed]分布式系统中遇到的 ...
- 虚拟机安装master,克隆slave0、slave1(多台机相连,网络匹配)
1.在虚拟机中创建一个名叫master的主机 2.创建成功后,打开编辑选项——虚拟网络网络编辑器,填网关 3.打开终端,进入root权限,编写命令 设置虚拟机DNS 4.给master网络配置好后,克 ...
- java - day013 - 流, FileInputStream, BufferedInputStream,
流 Stream 把数据的读写,抽象成数据在管道中流动. 流是单向的 输入流, 只能用来读取数据 输出流, 只能用来输出数据 流只能顺序读写数据 流只能一次性从头到尾读写数据 流动过的数据,不能反复流 ...