我大概2000年上大学在宿舍开始玩Linux,到现在20年了!也算是最早一批痴迷于Linux桌面用户啦!记得当时的毕业设计BBS论坛开发就是在Mandrake Linux(后改名Mandriva,一种继承自Redhat体系面向桌面的软件)上面完成的,为了下载三张700M的iso镜像,拿着硬盘跑到网吧玩通宵下载,现在想起来也很美妙!

最开始玩Linux粉们,都是极为期盼Linux的桌面化发展,我在当时也是Linuxsir的常客,还是个版主 ,还有Linuxfans,Linuxedeu,Linuxaid,不知道是否曾经热爱这片天空的Linux极客们能否看到!

言归正传吧!对于Linux桌面的发展是否因为类似鹅厂不积极开发Linux版上的QQ,阻碍了Linux发展,讲真,有影响,但是夸大了!

当年的清华Luma QQ作者的封版告别信,就能判断出当时的商业化公司是多么与开源社区格格不入。但是Linux的桌面端发展到现在不是好好的吗,没有从历史的长河消失啊,而且桌面越来越成熟。另一面的服务器端发展基本上已经一统天下了!

想要理解Linux的发展要从他的原始初衷看,而不能去怪罪一个做应用的厂商。 首先Linux只是一个内核,正好当时GNU开源组织缺乏一个好的内核,就与Linux联手了,拥有GUN庞大的操作系统软件库支持,Linux发行版很快就火了起来,可惜当年Freebsd正和Unix大厂因为版权打官司改代码,耽搁了几年,否则还不知道如今花落谁家!

其次Linux既然联手GNU,就必须遵循GPL协议,GPL协议具备极强源代码开放传染性,首先被传染的一定是驱动厂商,驱动是必须开源的,这是很多年阻碍Linux发展最大的罪魁祸首,其实驱动厂商,它们不是不愿意研发Linux官方驱动,而是因为这会开放厂商的驱动设计,影响到市场竞争,因此导致大量的PC机无法正常使用Linux。

所以说Android的Google就干了一件对于开源社区是不光彩的事情,但对于世界是伟大的事情,那就是Android基于Linux系统,但绕过了GPL协议,驱动厂商就能放心支持Android。

最后就是商业模式问题了,这个其实是比较阻碍Linux桌面的发展。服务端的开源软件已经开始走上非常成熟的阶段,像Redhat百亿身价卖给IBM,而做桌面Linux发行商却还有很长的路要走。桌面端不如服务端,因为服务器端的运营可以控制发行版及版本的碎片化,也不需要过多的外部生态依赖,就能安安生生的干事情。

但桌面端不行,一个KDE、Gnome根本不够,只要用了Linux桌面,一定就是先找Linux下的类似Win应用软件都有什么,这就不只是找QQ一个软件那么简单了,关键即便是找到了Linux版能用的应用软件,还要出现一堆应用问题,例如:字体发不发虚,界面是不是有乱码,内容格式是不是匹配等等,这其实才是最熬人的事情。

其实这些问题都是Linux发行版太多,而且各个库版本迭代频率太快导致的,这就很容易出现底层库更新了版本,上层桌面应用匹配不上,就安装不上用不了的问题。那么这种状态下,Linux用户量一定是上不去的,那么Linux桌面的商业化就很难做。越难做就越吸引不了高热度的应用入驻,反之又成为一种用户数量的制约。

即便在如此境地,Linux桌面依然在前进着,而且还好好的,其实这才是最应该讨论的问题,因为这不符合正常逻辑,看看黑莓、诺基亚、微软,在没有了应用生态支持,移动OS都一个个消亡了,但Linux桌面没有,还依然走着自己的路,这就是Linux的强大和伟大之处,就好像它是一座山,一直就在你面前,只是你有时候没有看见它而已,而怀着各种想法的人们需不需要来上山,那也是人们自己的一厢情愿而已。

Linux的桌面怎么走,这个我真不清楚,但是我看到的是微软,曾经开源社区的敌人,都已经开始拥抱Linux了,不仅仅是服务端,整套.net桌面开发环境都开始支持Linux了,甚至自己的操作系统都想换成Linux,那么来自基础平台商的如此坚定支持,我觉得大概率其他商业厂商的支持是迟早的事情。操作系统的Unix家族体系归一化,这个真的不是通过什么策略,而是趋势。

我们是“读字节”技术专家团队,感谢您的关注! 读字节官网

什么原因才是阻碍Linux桌面发展的罪魁祸首的更多相关文章

  1. Linux 桌面玩家指南:13. 使用 Git 及其和 Eclipse 的集成

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  2. Linux 桌面玩家指南:04. Linux 桌面系统字体配置要略

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  3. Linux 桌面玩家指南:01. 玩转 Linux 系统的方法论

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  4. 计算机与linux操作系统的发展

    一.计算机 (一)计算机的概念 1.概念:计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速 ...

  5. Linux 桌面美化那点事儿

    各个 Linux 桌面发行版刚拿到手的时候,或多或少都有点儿不满意,对它们进行一些改造是必须的.网上不乏各种 Linux 桌面美化的教程和经验贴,对我们这些 Linux 爱好者来说都是很好的参考资料. ...

  6. Linux 桌面玩家指南:18. 使用 Docker 隔离自己的开发环境和部署环境

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  7. Linux 桌面玩家指南:15. 深度学习可以这样玩

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  8. Linux 桌面玩家指南:14. 数值计算和符号计算

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  9. Linux 桌面玩家指南:09. X Window 的奥秘

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

随机推荐

  1. Codeforces Round #651 (Div. 2) A Maximum GCD、B GCD Compression、C Number Game、D Odd-Even Subsequence

    A. Maximum GCD 题意: t组输入,然后输入一个n,让你在区间[1,n]之间找出来两个不相等的数a,b.求出来gcd(a,b)(也就是a,b最大公约数).让你求出来最大的gcd(a,b)是 ...

  2. hdu1828 Picture(线段树+扫描线+矩形周长)

    看这篇博客前可以看一下扫描线求面积:线段树扫描线(一.Atlantis HDU - 1542(覆盖面积) 二.覆盖的面积 HDU - 1255(重叠两次的面积))  解法一·:两次扫描线 如图我们可以 ...

  3. AtCoder Beginner Contest 173 E - Multiplication 4 (思维)

    题意:有\(n\)个数,从中选\(k\)个数累乘,求最大的乘积\((mod\ 10^9+7)\). 题解: 1.假如全是负数,并且选奇数个,那么从小到大选. 2.否则,考虑当前状态,假如\(k\)是奇 ...

  4. Codeforces Round #656 (Div. 3) C. Make It Good (贪心,模拟)

    题意:给你一个数组\(a\),可以删除其前缀,要求操作后得到的数组是"good"的.对于"good":可以从数组的头和尾选择元素移动到新数组,使得所有元素移动后 ...

  5. 手动编译Selenium源码

    起因 Selenium ChromeDriver和Chrome升级到最新v81版本,同时需要将Selenium3.3.1升级到3.141.59. Selenium本身不支持https,所以修改源码用于 ...

  6. python2.* 版本 与 3.* 版本中的区别

    目录 Unicode编码 print函数 raw_input() 和 input( ) 不等运算符 数据类型 除法 map 和 filter Unicode编码 python2.x 解释器默认编码格式 ...

  7. 一个http请求的完整详细过程

    整个流程 域名解析: 与服务器建立连接:tcp连接: 发起HTTP请求: 服务器响应HTTP请求,浏览器得到html代码: 浏览器解析html代码,并请求html代码中的资源(如js.css.图片): ...

  8. JS编程练习:将目标节点内部的子节点逆序

    将目标节点内部的子节点逆序 1 <body> 2 <div> 3 <p></p> 4 <span></span> 5 <e ...

  9. nodejs非安装版配置(windows)

    nodejs官网下载地址: https://nodejs.org/en/download/ 解压到本地并配置环境变量 在环境变量path中新增 D:\develop\node 查看是否配置成功 至此n ...

  10. python 编码问题随笔

    原文点击这里 借用原作者的一句话"据说,每个做 Python 开发的都被字符编码的问题搞晕过,最常见的错误就是 UnicodeEncodeError.UnicodeDecodeError,你 ...