在桌面领域,为什么免费的 Linux 输给了收费的 Windows?
我个人认为,Linux 在桌面领域不够成功的原因一般如下:
- Linux 缺乏知名 OEM 的支持。Linus Torvalds 本人说过,绝大多数人用 Windows 并不是他们自己的选择,他们一般不会去搞个 Image 然后往自己的机器里装一个操作系统,而是机器里最初是什么就用什么。绝大多数人在手机上使用 Android 也大致是这个原因。缺乏商业利润和缺乏 OEM 的支持,大部分 Linux 发行版很难在面向一般用户的桌面市场取得太大的成就。Linus 同时还提到,Chrome/Chromium OS 的成功就是很好的例子,即只要有知名 OEM 的支持,Linux 是可以在桌面市场占有一席之地的。
- Linux 的图形很难比得上 Windows。原因之一是陈旧臃肿的 X 窗口系统。X 诞生的时候,其所需要适应的情形和现在个人桌面计算机的情形有很大不同;因为历史包袱,不可能立即抛弃掉 X,自视为 X 替代者的 Wayland 也还迟迟不够堪用(值得一提,Gnome 已经默认使用 Wayland,KDE 也有相应的 Wayland 版本,虽然 Bug 不少,但是性能提升确实很明显)。
- Linux 发行版分散。Linux 发行版太多,为这些发行版分发软件极为痛苦。通常来讲,对于 Windows,你只要给出一个打包好的安装程序,就几乎可以将其分发到每一部 Windows 机器上;对于 Linux 来讲却不是如此。虽然你可以给出一个编译好的 Binary,但这样你就无法处理你所要依赖的其他软件或库;Linux 发行版存放这些库文件的位置和库文件的版本都有微妙的不同,这意味着很多时候你除非暴力静态链接,或者自己携带全套依赖,否则不可能通过直接分发二进制的方式来分发软件。绝大多数 Linux 发行版都会通过包管理工具来解决这个问题,但是为所有的主流发行版都打包一遍的代价是非常大的。当然你可以分发自己的代码让别人自己编译,但这样并不适用于闭源软件的分发。Snap 和 Flatpak 似乎正要解决这个问题,但是就目前看来情况并非十分理想。
- Linux 哲学。虽然不是很想以偏盖全地阐述所谓的“Linux 哲学”,但是每一个 Linux 用户都知道,Linux 产生效率的关键,是善用 CLI,而非 GUI。对于熟练用户,CLI 在很多事情上确实表现出比 GUI 高效很多的地方,但这对于新手来讲学习成本太高,对于惧怕 CLI 的外行人则更是如此。这种倾向也导致很多 Linux 工具至今不提供 GUI 前端。
另外,开源世界虽然参与者众多,但是一般不会比商业公司获得更多的专家。过多的开发者带来的文化、信仰、习惯差异也造成了 Linux 的很多问题。
说完了缺点,再来说第二部分——优点。这大概也会回答题主对于“要求掌握 Linux 开发”的问题。
我个人认为,Linux 最大的优势莫过于如下几点:
- 安全稳定。Linux 几乎不可能有任何安全漏洞,即使有,2 小时后也就没有了。简单的说,Linux 只会有零日漏洞。同时,Linux 内核的鲁棒性很高,也就是说,只要你不去刻意破坏什么,它跑着跑着挂掉的可能性几乎为 0。与此同时,由于很多软件是自由开放的,你可以只使用其中的一部分,而裁剪掉你不需要的另一部分来尽可能降低引入漏洞的概率。这些特性使得 Linux 是服务器操作系统的极佳选择。
- 自由开放,开发便利。Linux 是自由开放的,想必看到这个问题的人都清楚这一点。它带来的好处不仅仅是“免费”这么简单,它使得 Linux 拥有绝佳的可定制程度,为 Linux 编写程序也是前所未有的简单。对于桌面用户,这使每个人都可以拥有自己绝对喜欢和习惯的工作环境;对于企业,为它编写一份自己需要的程序远远比 Windows 方便——你不会花过多的时间在查阅文档上。
- 社区平均水准。此条并非在贬低 Windows 用户的水平,只是在阐述事实。绝大多数 Linux 社区的成员水准基本都高于普通用户的水平,因为他们为了把 Linux 捏成他们自己的形状花费了很多的时间学习和研究它。这些社区成员几乎可以解决一切 Linux 下产生的问题,这使得寻求帮助十分便利。对于 Windows 则并非如此:它封闭,所以大部分人不清楚它内部如何工作,也就很难解决层次稍微深入的问题。
- 轻量、可裁剪、可移植。这一条可能是源自“自由开放”的。Linux 非常轻,因为并未包含那些用户可能用得上但又永远用不上的东西;Linux 可裁剪性非常好,而且你可以轻易将它移植到任何一个平台上。这些特性使得 Linux 在 IoT 领域绝对是不二之选。
结合上述优点,我们不难推断:对于很多企业,会更倾向于选择 Linux 作为他们的服务器操作系统;很多新型产业甚至需要将 Linux 用于它们的产品中。这些都提升了作为一名擅长 Linux 开发的技术人员的价值和必要性。
只能说是传统桌面端失败了,而不是所有平台都失败了。
桌面端失败的原因:
驱动支持:桌面硬件多样,驱动支持难做,很多特殊硬件压根没有Linux驱动,很多勉强提供的也是闭源或者bug繁多——服务器上硬件少,软件的价值更高,所以会做好驱动。手机啥的有Android的抽象层在解决了必须开源的问题,而且提供一款驱动就可以用好多版本。
应用支持:本来用桌面的人就少,每个桌面环境还可能不一样,应用支持就更难做(也更没动力做)——服务器上的软件价值更高且用户层次更高所以更好解决。Android的软件大部分也不是原生Linux应用而是Java。所以容易解决。
Linux自身的分裂问题,各派系,各平台,过去的Wayland Mir之争,桌面环境之争_(:з)∠)_……——服务器上可以不用桌面,而且即使是其他分裂的东西也可以选一个受支持的产品一直用很久不换,毕竟要恰饭的。安卓本身就是个分裂,自身的统一性倒是维护的还挺好(相比于其它Linux),所以也没这个问题。
以及根源“*nix哲学”,处处DIY,乱七八糟的缩写和参数列表,你看有人连Windows不自带重装系统功能都不满意,也根本懒得找其实就内置在系统里的重置功能……这说明软件就只能当用户的舔狗(o区),你想让用户man一下是几乎不可能的——服务器上不读man的运维是要被裁员的,安卓用户就是狗所以想怎么欺负就怎么欺负(指阿里
举个例子吧。
你去饭店吃饭,老板新安装了一套点菜系统,可以实现命令行点餐。
比如你点一份炒饭,就在黑白相间的屏幕上输入-chaofan 1
如果要蛋炒饭呢,就输入-chaofan jidan 1
如果是要加辣椒的蛋炒饭呢,就输入-chaofan jidan lajiao 1
当然geek老板是不会让顾客输入这么长的代码的,比如加辣椒的蛋炒饭,你只要输入-DCFLJ 1就可以了。
通过这个系统还可以开发出更多高阶应用,比如你可以建立一个个人午餐库,然后每天中午随机从中选一个并在11:30下单。利用这套系统你还可以远程点餐,用自己的电脑登录饭店的服务器,并输入-CYBM YR 1 at 11:30,系统就会自动在今天十一点半给你下单一份加羊肉的葱油拌面。
隔壁饭店的老板则使用图形化点餐系统。
同样是点炒饭,顾客按一下屏幕,所有菜品都会列出来,照骗列了满满一页。然后从中选择炒饭,这时会弹出一系列选项,比如是否要加鸡蛋、猪肉、羊肉等等,然后再弹出一个界面问顾客是否要加辣椒、葱、香菜等等,全部选完之后才算下单完成。
另外老板和美团、饿了么、大众点评等都有合作,顾客也可以用手机app提前下单。
相比而言,命令行点餐速度快、直观、高效、可以批量处理,顾客输入几个字母就解决问题。而图形界面点餐速度慢、效率低、干扰项多,点个蛋炒饭需要按半天屏幕,用手机app点餐还得看一堆广告。
于是你会去哪家吃饭?
你觉得绝大部分顾客会去哪家吃饭?
这就是为什么双拼、五笔、命令行操作、蓝屏应用、Linux之类的东西不普及了。
老板,来一份蛋炒饭,加辣。
这种就相当于ai,对于顾客来说和Linux或者Windows没啥关系了。
对于个人用户来说,Linux的兼容性差,图形界面稳定性也不好,软件安装不便,软件生态也比windows差很多。
兼容性方面,微软花了非常大的力气做驱动适配,windows几乎可以兼容所有的硬件。而免费的linux很多驱动都是开源社区提供,数量和质量都难以保障。
此外,windows对于历史版本也有着优秀的兼容性。win98时代的应用程序依然可以在win10上运行。而不同的linux发行版往往要使用不同的软件包,同一个发行版不同的版本之间也往往无法完全兼容,例如很多软件都要为ubuntu16.04和18.04分别出一个版本。
Linux的图形界面也一直饱受诟病。装的软件多了,普通用户会经常遇到各种卡顿和图形界面崩溃。就连安装显卡驱动,操作不当都会导致无法进入桌面。
对于普通用户来说,Linux的软件安装也不如windows方便。如果应用商店没有,用户就需要自行添加repo然后用命令安装,有时还会遇到各种依赖问题导致安装失败,这对普通用户来说太不友好了。有些软件甚至需要编译安装,装完了还要手动修改环境变量。这跟windows上有清晰引导的安装包相比实在是太过强人所难。
由于图形界面windows诞生的比linux早,windows上的桌面软件要远远多于linux,尤其是游戏软件。虽然很多软件在linux上也有替代品,但用户体验和功能始终不如windows上的。这就使得Linux跟大部分用户绝缘了。
虽然个人用户还是windows的天下,但是在移动互联网和云计算时代,桌面软件已经趋于没落了,大部分软件开发需求其实是面向服务器端和嵌入式设备的,这些都是Linux的天下了。
因为Linux并不是免费的,而windows却在某种程度上是免费的。
因为免费的往往“最贵”。
我去A饭店吃饭,拉面一碗10元,我付费后,略等片刻,老板就端上来了一碗热腾腾的拉面。这个面可能不劲道,可能咸,可能肉放的少。但是好歹是碗面,能充饥。
我去B饭店吃饭,老板说今天拉面免费。然后给我提上来一袋面粉,一包食盐,一些青菜,一块肉。告诉我,想吃什么口味自己做。
我就是吃个饭,一会还要上班呢,你说我去哪家?
我就是厨师,我去饭店就是锻炼手艺的,你说我去哪家?
是厨师多呢还是非厨师多呢?
若干年来,A饭店的大部分菜品都是十分美味的,能满足我大多数时候的胃口,而且越来越好
B饭店和最初的时候差不多,有时候自己做菜还会碰到找不到菜刀,找到了菜刀,然而菜刀卡在刀架上拿不出来的问题。
Linux is user-friendly — it's just choosy about who its friends are.
单单是PC桌面而已,傍上Google这个大款,Android这个草台班子还不是把MSFT杀得片甲不留。
所以说和操作系统自身的素质没啥关系,和金主还有时机关系更大。
因为你Linux想要真的玩转,又不想把系统搞坏,你要准循keep it simple and stupid的基本原则。
如果不这么做的话,系统应用依赖关系太复杂最后总有一天会因为某个开源包维护不当出问题。
但如果准循,用户就必须依赖命令行。因为基本上只有命令行的工具才是KISS。但命令行始终不够直观。而且一些原理和概念上的东西如果不能理解,命令行的使用效率始终是比不上gui的(上手门槛)。
而Windows也有自己的哲学,就是直观(这一点已经输给mac),且软件应用大而全。绝大多数普通计算机用户的使用习惯都是在这种哲学下塑造成的。你让他们如何轻易适应这种上手难度较高,哲学相斥的系统。
所以你看,现在Linux世界里,所有所谓新手友好的发行版的使用哲学其实都是和win/mac相近。但绝大多数在新手村出来的用户一旦适应了Linux哲学,最后都会转向Arch Gentoo OpenSUSE等等的一些发行版。都去玩KISS, suckless去了。
而那些常住新手村的人,有一部其实他们本来应该是win和mac的用户。只是出于某种原因,来到了Linux世界,住在阴阳交界的地方,吸取两界的灵气。还有一部分是去硬核发行版玩到成仙了,已经不在乎这些了。
说这么多,其实就一句话,真正的Linux不适合普通用户。而适合的,也离Linux哲学蛮远的。
Windows/macOS 是毫无疑问的桌面系统的代表. 而 Linux 在 Headless 的服务器市场有更大占有率.
首先纠正一个问题. Linux 内核的定位是「自由软件」, 而并不意味着免费, 可以有收费的商业模式, 比如 redhat 的订阅模式; 而 Windows 实际上对于个人用户抛弃了「老子就是要从每个人手上收钱」那种固执, 现在你装 Windows 10, 也没有一定要求你激活才能用. 微软把收钱的目标主要还是放在 OEM 和企业用户上. 而 Windows 10 SKU 本身来说, Server SKU 提供了更多功能: 完全的 Hyper-V 功能(GPU 虚拟化, SR-IOV 虚拟化等), LACP (NIC Team) ,附带 RDMA 支持的 SMB, 还有更好的 NUMA 调度等等...
所以由于 macOS 和 Windows 的内核和图形栈的高耦合度, 作为商业公司来说他们的桌面产品比基于无论是古老的 Xorg 还是最新但是不完善的 Wayland 都要好. 但是这不意味着 Linux 桌面没有任何机会, 基于 Gentoo/Wayland 的 Chrome OS 的桌面足够好用. 但是最新的 Pixel Slate 几乎所有人都反映(其实你看视频也看得出来), 多任务界面的帧数很低, 有可能是 OpenGL 性能的锅.
所以这里又得提到图形 API. 目前来说 Metal, Matle, DX12 还有 Vulkan 总体来看高度同源. Apple 和 MS 已经用最新的 API 来优化桌面图形栈. 而 Linux 虽然已经出现了通过 Vulkan 跨平台运行的游戏, 但是桌面系统通常还是基于 OpenGL. 而且大量嵌入式设备的 OpenGL 实现有问题, 所以不得不用 OpenGL ES 去跑桌面, 唯一能很好带起来的也就是 Chrome OS 的桌面.
所以桌面上来说, 基本上 Linux 在 x86 和 NV 的 ARM 平台之外基本不太可能有比较成熟的桌面环境. (除非你给 ARM 板子插一张 A 卡, 运行开源驱动)
由于 Apple 对于其生态强力的控制力, 所以我们能看到非常好(但是性能偏低的)HiDPI 实现, 大量采用了原生框架的 App, 和未来越来越多的和 iOS 的 AppKit 共同框架的 App. 但是 macOS 的游戏就在桌面的版本迭代之间逐渐消失了, 当你运行那些启动之后只有声音没有画面的游戏你就能猜到这是一个采用 OpenGL 旧桌面框架的游戏.
Windows 最大的优势是原生支持 DX/Vulkan/CUDA/OpenGL 等 API. 加上非常好的向前兼容性,
基本上没有什么玩不了的游戏. 同时也有大量专业软件的支持.
Linux 最大的优势是高度可裁剪修改的内核和整个用户态, 根据业务的需要可以修剪内核, 所以下到有 MCU 跑的 ucLinux, 上到完整的带桌面的. 但是 Linux 的宏内核结构和 GPL 对于闭源驱动就很不友好, 需要配置 DKMS 才能在升级内核的情况下继续用. 常见的就比如 N 卡的闭源驱动.
但是这种高度定制性是一个无底洞. Google 有钱, 所以能够搞出高度定制化的 Android 和 Chrome OS. 但是别的厂商可以吗? 就比如说 Linux+libvirt 虽然是常见的一张云服务的 hypervisor, 也有像 KSM 和 virtio 为基础的 IO 半虚拟化技术去优化资源占用, 但是如果你要让他的效率更高, 增加更多功能, 比如 ESXi 那种热迁移, 不好意思, 这可能就不是花钱能够搞定的. 所以 Azure/Windows Server 的牛逼之处就是让你能够花钱而不是出力解决事情, 因为后者很有可能失败.
至于 macOS 早就放弃服务器市场了, 而且理直气壮的告诉你, 反正 apache/wiki/racoon 这堆东西都是开源的, 你自己去配就好了, server.app 我们不维护了.
Windows Server 这边还是提供了原生的 SMB(最好的性能和稳定性的网络文件共享的实现), 搭配特定网卡支持 RDMA. 还有高度集成的域控, 点点鼠标就行了. 而手配 Linux 的 Kerberos 那几乎是一个灾难.
首先必须说,单看问题本身是个否命题。因为Linux在互联网公司服务器端可是远远多于Windows的。如果你把世界上所有计算机都算上,Linux占有量并不一定低。
我想这个问题应该问的是桌面和笔记本电脑吧。
我的看法:这问题说简单也简单,说复杂也复杂。
说简单就是,长期以来(至少90年代初到至少2000年代初),Linux的桌面用户体验烂到可以说基本没法用。基本上仗不用打就输了。
说复杂呢,就是肯定不能停留在这样的表层。首先为什么那时候体验差这么多,其次后来体验差距缩小之后为什么没有重新战斗。这事我就没有能力全面的说清楚了。
那些把是否免费作为关键问题的,我不敢苟同。收费的Windows Mobile乃至CE操作系统却被免费的安卓打得屁滚尿流。所以免费也未必就是不行的。
你说的两件事基本都对,但二者并不矛盾。
前者你指的是用户桌面电脑OS占有比例吧?在全球范围来看,Windows占据90%以上,Mac OS大几个点,Linux及其它一直都在一两个点左右徘徊;如果只考虑中国市场的话,Windows占据比例更高,基本处于碾压其它OS态势。
后者是对于开发者的要求,Windows开发基本集中在桌面单机软件领域,最简单的如Office办公软件。游戏、娱乐、杀毒软件等,用于Windows服务器端和wince嵌入式领域的比例相当少了;而Linux在服务器端的装机率相当之高,优势越来越明显,在嵌入式如安卓应用方面越来越普遍。那相关从业人员也会用脚作出选择,越来越多的人员投向Linux开发与应用大军。
最主要一点:用户与开发者的区别,用户基数比开发者大得多,用户借助装有Windows系统的电脑去完成各项任务,包括最重要的通过网络访问与交互,获取想要的内容,这些可能就是Linux开发者完成的。说得最直白点就是,作为名普通用户,你的日常行为,除了通常已经有的OS和软件帮你完成外,其它增量型的活并不太多了(开发OS的微软相关工程师当然人数众多),更多的操作就是通过浏览器和QQ这样的工具上网,上各种各样的网站,要么直接在浏览器里都完成了,要么QQ聊天/用视频软件看电影等,网络的内容这么丰富,实现起来这么复杂,需要很多装着Linux OS的服务器来运行,需要很多工程师来开发复杂的功能……这些对用户来说不可见的,但对网站运营商/QQ服务提供商来说,是很重要的,需要招聘大量的懂Linux开发的工程师才能胜任。
这里就不提现在大量的智能手机/平板电脑对桌面电脑的侵蚀了,以及如微信平台在用户入口上的抢占了。
我就说一点,(以前)只能运行在Windows(server)的office可以免去很多公司在法律和审计上的麻烦。linux再“先进”又能怎么样,你们开发软件的时候有替全球不同法律规定下的合规想过吗?都没有。那用个屁呀(逃
我用gmail和libre office还得去雇佣一个法律和审计团队来确保我的公司不会被不小心罚的倾家荡产(特别是金融公司),为啥不直接上没有风险的office?微软已经打包票了,office要是不合规,微软是要替你们负责任的。
其次才是客户给钱出了问题可以派人直接去解决的这种vip服务,很多linux派系的公司是不提供的。
很多回答这个问题的码农们是不会明白的,微软为了让大家无痛使用软件做出了多少贡献。这不是你有几个功能就可以去挑战的。
某款汽车可以免费领,但街上没有任何它的4S店和修理厂,一旦出了问题唯一的解决方式就是自己去买零件然后躺在车底下对着厚厚的手册拧螺丝。这种免费车为什么会输给那些要花几万几十万的汽车?
因为大部分人买来车是为了开的,不是为折腾的。
在各种Linux社区、问答网站、博客甚至知乎的问题底下,写启动脚本、自己编译驱动都是桌面Linux用户的「基本操作」。既然已经把基本线划到这个高度了,那过滤掉95%以上的用户群体不是很正常吗?
Android也是基于Linux,如果也拿自己解锁bootloader还有编译内核当成基本操作,那估计早死透了。
至于招聘开发人员,人家开发的是Linux服务器程序,而且针对的是语言,不是平台。绝大多数语言换个编译环境也能在Windows和Mac上跑的。
Windows开发式微是由于Web和移动互联网的崛起,原生应用程序越来越针对某些专业领域,大众日常应用靠网页和移动App就足够了。
既然说到linux,那就把mac和windows也一起来过来锤一顿吧
先放结论:在桌面领域,现在明显是windows>mac>linux。原因其实和免费收费什么关系并不大。
论点如下:
- 在重视版权的发达国家,windows打得过linux;在盗版如风的天朝,windows依然打得过linux。可见windows打不打得过linux并非是收费和免费的锅。
- windows之所以能打得过linux是因为他“好”用,注意这个好是加了引号的。windows能做到几点linux做不到的优势:
a. 傻瓜式操作,开箱即用,一个鼠标打天下。很多知乎科学家肯定会说这都是小白啊。没错,windows就是在挣小白的钱的!对于进阶的高手来说,用什么操作系统已经不重要了,因为都会耍;但是对小白来说非windows不行啊。
b. 通用,在桌面领域,基本上是个电脑就能跑windows,不用担心软硬件问题。这点就要把mac拉出来锤一下,windows支持几乎所有的桌面平台,当然支持的好不好无所谓,反正就是都能用。很多时候要求的就是能用俩字。
c. 把用户当小白。等等,这能算优点?还真算。把用户当小白总比把用户当高手赢面大一些。不说什么别的,大学生算是相对有文化的群体吧,有几个会耍bash的,有的人电脑都用烂了windows键还跟新的一样。所以把用户当小白就比把用户当大神蒙对的概率高得多。
d. 替用户做设置。虽然windows的自定义能力相当差,但是人家的默认配置还凑合啊。你看看windows的默认状态,又不是不能用。你再看看arch这一票的默认状态...天上地下啊。像ubuntu啊,deepin啊之类的替用户设置好的linux你看是不是在桌面平台上都冲到前几发行版去了。
e. 善意的谎言。windows的一个特色就是做了一个控制面板(win10里是设置菜单)让用户以为他真的掌握了电脑的额一切。配置个电脑嘛,很容易的啦。真正敏感的很多东西都被藏得深深的,生怕用户碰到,因为对小白来说一般碰到了准没好事。
从用户的观点来看:
小白会怎么看linux
linux标榜的自由啊、开放啊都是对高手们来说的,对于小白来说就是一头雾水。什么?这么长的wiki?还英文的?太长不看,200块格盘换windows......linux用户-10086
linux标榜的安全啊。安全看得到吗?看不到。那怎么才能让安全看得到呢?有windows defender啊,有360啊,是不是啊。linux?你这破机器两个杀毒都不装能安全?骗鬼呢....linux用户-100086
linux发行版几乎都有软件仓库,但是问题是怎么去浏览这个仓库呢?对于小白来说就算会用apt-get 也不知道什么软件好耍啊,难道apt-get install QQ?......linux用户 -10086
那小白又怎么看mac的呢?
macos漂亮啊,好看啊,macbook装逼啊。不过讲真,macOS的脸确实好看,苹果的设计确实不是盖的。局座有句名言叫什么来着,武器装备颜值既是战斗力,那颜值高的mac当然比linux要强一点啦。颜值爆表,mac用户+1
App Store啊,一键下载啊,人性化设置,满分,mac用户+1
哎,为哈这个装不了啊,为啥别人都能跑vc6.0我的不能啊,我要玩LOL......mac用户-10086
小白会怎么看windows
我买电脑了......windows用户+10086
老板给我装个系统,最新的......windows用户+10086
听说win7打游戏快......windows用户+0,win7用户+100086,win10用户-10086
win7不行,还是XP最快......
明白了吗?对于小白或者一般用户来说,windows没有明显缺点,没有缺点就是最大的优点。
至于高手?大神?不好意思,爱用不用,我就不信小白治不了你......
——本消息来自Arch linux......
因为对很多人来说,收费的Windows并不收费啊……
过去,全民组装机时代,别说个人用户了,企业用户都用盗版。微软想收钱,怎么收?跨国取证然后一个个告个人用户?你的数据是从哪来的?有没有窥探用户隐私?
所以后来微软干脆放弃了起诉普通用户,而是搜集企业使用盗版的证据,然后发律师函要求他们购买正版。
再后来,DIY的少了,直接买整机的多了,正版Windows直接捆绑销售。买机器的同时你已经为Windows付过钱了,卸了装Linux?
有病。
你看,作为个人用户,除了黑屏威胁外,其实你压根没受到任何付费压力。收费的Windows你免费用,白捡了2000块钱是不是很爽?
没有付费压力,因此人人轻松用Windows;与之相比,使用Linux反倒有了一定的学习门槛。普遍选择windows便是情理之中了。
然后,当你接触的第一个操作系统就是Windows、入目所见的每一个系统都是Windows、周围所有人使用的软件全都依赖Windows时,其实你已经迁移不到Linux了——否则你就必须和整个社交圈乃至整个社会割裂。
相反,国外打击盗版的力度更大。这就切切实实为盗版使用者制造了较大压力;有了付费压力,Linux的“免费”优势才得以体现,这才使得它在“懒得理不爱学习的小白”的同时,还能吸引大量人使用。
有了使用者,才会有人为它开发软件;但因为使用者不够多,又使得它上面的软件不可能像Windows那样,在界面上精雕细刻。
这种粗疏进一步选择了用户,使得非geek用户不敢选择Linux;反过来,绝大部分用户都是geek的现状进一步加强了Linux的geek化气息,从而使得“这么简单点配置都搞不定的凭什么用Linux”不显突兀:因为玩Linux的都是geek,而geek实在想不到还有人能那么"笨"……
同时,很多人,尤其是学界的很多人,往往会跟风“反感商业软件霸权”,从而故意选择Linux。
亦因此,很多软件,尤其是基础类软件,往往是在Linux上开发的。
比如很多脚本、很多工具,到Windows上直接就瘸了一条半腿。因为没有了Linux环境下的、有grep、find等支持的好用的shell环境,因此必须为它们从头开发图形工具。
但如果在Linux下,你就可以节省很多很多的工具开发费用;有些东西,甚至至今没有严格的Windows支持。比如近些年大热的hadoop,直到2.2版才有Windows支持,且需要自己下载源码编译、适配,因为开发者没有在所有版本的Windows上做过详尽测试。
这就使得很多领域都只有Linux可用,尤其是服务端、集群等方面。这就是很多岗位要求精通Linux的原因。
因为 Windows 不要求你是程序员啊。
Windows 占有率高的主要原因有: Windows 真的好用;巨硬的服务很好;巨硬放任个人盗版;巨硬把控了企业用机;Windows 兼容性真的强。Linux 的设计不适合一般用户使用;等等原因。
微软开发产品的指导方针就是操作不能太难。
即便是面向开发人员的 Visual Studio 都以一键安装,一键部署为特点,尽量开放插件等来方便用户使用。
Windows 虽然对程序员不太友好,比如安装个 Node.js 比 Mac OS 复杂一些,但是作为日常机器是绝对比 Linux 好用的。软件多,兼容性强,驱动全面。
即使是作为域控/证书服务器/认证服务器的 Windows Server,也提供客户近乎傻瓜的操作方法及全方位的客户支持。让客户忘记复杂的命令行,利用图形界面来进行操作,是 Windows 系统的宗旨。要不为啥不改名到 Cmd 10?
而且,Linux 并没有输,因为它可以满足一些人的特殊需要,比如程序员的开发需要。只不过这部分人群少而已。
Linux的Free,与其翻译成免费,不如翻译成自由。
自由软件么,成也自由,败也自由。在服务器领域的自由,在于企业的服务器应用往往只需要运行一两个顶多十来个核心应用,而且企业可以花钱买服务,花钱雇运维/开发来解决这有限的应用在Linux上运行的问题,甚至可以自己优化/修改代码使得这些应用跑的更好,所以Linux在服务器端很成功。
而桌面用户更多的是普通用户,Windows都没几个人能用好——否则就没有360这种软件的生存空间了。而Linux的桌面,因为其自由,这个发行版高兴的用KDE,那个发行版觉得GNOME更好,还有觉得这两个都太臃肿的用Xfce的,还有一大批其它的窗口管理器,看看Wiki页面[1]:
光是常见点的就9个(还好,没上两位数),少见点的全算进来,是35个[2]:
别急,这只是X的窗口管理器,底层除了X,还有Wayland和Mir。
于是,某个开发商给Linux开发个桌面应用,你猜他打算适配多少个桌面环境?或者估算一下适配三个最流行的桌面环境的话,开发成本比仅仅适配一个环境高多少?
一众开发商都限定只能运行在X上的GNOME?那么Linux还Free么?
再看看不那么Free的Android,不成功么?起码比Windows Mobile成功吧?
PS:根据评论区意见再说两句:以现在Winidows和Linux的生态,一份Windows许可就算还卖1998,但一个普通用户要能把免费的Linux当Windows用,可以想象下这个学习的时间成本算下来止不止这个数?更不用说,真正花钱买正版的普通用户占多高的比例了。
[1]:Comparison of X Window System desktop environments
[2]:Desktop environment
有钱驱动的东西打赢没钱驱动的东西,这不是正常的事情么?
招聘要求精通Linux开发是因为现在桌面领域式微,没多少人用桌面了,都跑去用手机去了。手机背后就两个东西:端、云。这两个东西都是Linux,有了利益输送,就发展了呗。
所以,不要相信不要钱的东西。这天下间,每样东西都标记着价钱。不在这里收你的钱,就在别的地方收你的钱。
#Linux# 无论是在酷安还是在知乎,只要是在软件和系统领域总会有关于linux、win和mac之间的激烈撕逼,我曾经也怼过别人,在我接触Linux的半年以来,总会有人把Linux和win对比,要在两者之间选出优胜者,这种无意义的辩论占据很多时间,其实你完全可以用这段时间来寻找真正适合自己的发行版。
很多人不理解Linux与Windows之间的不同,至少在表现上来看还认为:系统=桌面+内核。
Linux和Windows表象上最大的不同于:Windows操作很大程度上依赖于桌面的图形界面操作习惯以命令行作为辅助(CMD);linux与他最大的区别在于,Linux依赖于终端和TTY(你可以理解为Windows的命令行界面),而桌面只是为了用户更好操作的工具,即提供了为用户方便和日常娱乐所需的软件,这不仅意味着桌面和系统本身是分离的,也说明桌面并不是系统的必要组件,只是各大发行版的额外服务,你可以更换桌面也可以删掉他;而Windows不可以这样做。
在我眼里,Windows是最好用的系统,当然对别人来说可能并非如此,在日常使用中我常常在Linux和Windows之间徘徊,但我并没有考虑过mac,因为苹果的服务政策是我非常讨厌的,也因此在本篇中不涉及macos。
Linux的自由选择让厂家可以自由定制服务,比如特有的包管理、系统管理方式和桌面,这分成了不同的发行版本,我们所常知的发行版本有debian,deepin,Ubuntu,fedora,centos,rehl,arch,manjaro和opensuse等等,当然也有基于对个别系统的衍生版本,
如果你有独立N卡,我推荐pop!os。当然你可以配合不同的桌面,Linux的桌面分为两种,一是窗口式桌面,如KDE,gnome,xfce,openbox等,二是平铺式桌面,如i3wm等。相比而言,你可以根据喜好选择。
那么为什么我会选择Linux作为我的日常娱乐系统?
Linux比Windows对我最大的好处就在于方便,我可以用youget和youtbe-dl下载网络视频,在终端里安装管理软件,也可以安装自己的喜好来选择自己习惯的功能;我也可以和开发者反馈bug以便于他们针对bug来修复软件,而且和开发者交流这件事让我也十分开心;而我选择opensuse的原因在于他的稳定性和它与KDE之间的完美契合,我并不需要使用QQ、微信、百度云等各类国产垃圾,也不用再担心广告和病毒。
下面就是我个人的一些日常使用软件:
下载:perpepolis download manager ,uget
种子:qbittorrent,deloge,transmission,vuze
视频:vlc,mpv
音乐:deadbeef,cocomusic,ieasemusic
漫画阅读器:yacreader
阅读器:calibre
pdf:福晰阅读器
office:libreoffice
浏览器:firefox、chrome、chromium
系统镜像:dd命令或者image writer
聊天:tg、electronic-wechat
邮件:kmail
图片管理及图片后期:digikam,lightwork
视频编辑:kdenlive
事实上,在今天这个微软尽全力融合Linux和win10的时代,争吵也就失去意义了。
总的来说我不喜欢争吵,对我个人而言什么方便用什么,你与其问为什么Windows在桌面上打败了Linux,不如考虑下自己要不要真的去用