虽然这篇有点久
但过年前比较不想做正事,所以来回一下
逛PTT这么多年,黑特没落八卦崛起
近几年开始有人问Linux挂,虽然动机可能不是那么良善
但至少表示也有圈外人开始知道Linux,也算好事吧
毕竟,早年就算是Server Side,也是BSD跟传统UNIX的天下;
敝校到现在都还有FreeBSD 7移不动的机器在运作,
也曾经有SUN的Solaris Workstation
“我在管机器的那个年代,Linux别说跑服务了,是根本装不起来。”
这句话绝对不是开玩笑的(苦笑)
言归正传,
选Linux当桌面系统(Desktop Operation System)嘛
我觉得真的很case-by-case
如果你有下列人格特质
(1) 休闲娱乐是玩最新的游戏,对声光要求很重视
(2) 对于东西掌握运作原理没什么兴趣
(3) 不喜欢出错时找不到人负责,会觉得没有安全感
那我觉得Linux不适合当你的桌面系统
Linux的存在意义,很大层面上是黑手的乐趣
就好像玩改车一样,如果你不具备能力或著性格上不喜欢麻烦事
那还是去用Windows或著OSX吧
的确,Linux这几年开始往Desktop迈进
GUI、Desktop Environment也越来越“大众化”
e.g. Gnome 3、KDE Plasma、Unity ......
也有一些Linux发行版是瞄准没有使用过UNIX-like系统的初心者
e.g. 老字号的Ubuntu、Elementary OS ......
但,这离OSX、Windows还有很长一段路要走
就好像你买了一台别人调校好的跑车,绝大多数相安无事
若哪天某个零件失灵,你载去修车厂可能没人会修
而且说老实话,也没有人有那个义务要帮你处理
如果这样说,你就确定不会想用Linux当桌面系统,
那就可以跳过后文了,因为比较偏我个人的经历与感受
以下文长— —
(以下内容请勿转载)
我为什么说,
“不喜欢出错时找不到人负责,会觉得没有安全感”的人不适合用Linux
实则成也萧何、败也萧何,open source世界不是永远都歌舞升平
之前短暂工作时,曾经想在某个专案里面使用一个开源的开发框架
(为求避免暴露个资,只能说是某个parsing framework)
结果团队里面的前辈非常强烈地跟我表达他的不认同,
要我自己手刻drop-in replacement
当下我除了吓到之外,也有点不以为然
因为这位前辈自己也有在contribute一些知名的开源计画
后来专案快结束时,他才娓娓道来,很久以前他也跟我一样:
觉得没事干什么重刻轮子?
并且在工作中大量使用开源专案,结果后来手中的一个案子
就炸在某个很关键的外部library上面
他在引入那个library时,因为相信该专案的名气
所以没有太深入的去看实做细节,外部API看一看,test suite看一看
觉得应该okay就用下去了
开发中间的unite test测起来也都没什么异状
直到做system test时,BOOM,效能跟预期的差超级远
bottle neck卡在那个library上面
他想说嗯,反正开源嘛,就开code来改呗,顺便contribute做功德
没想到真的认真开始看实做细节,才脸一黑:发现这下完蛋了
后来擦完屁股,整个案子也延宕了快一个月
- -
后来我年岁稍长,看过的案子也变多后
也才发现真的很常发生那种:
大家都说这东西好棒棒
可看到critical part时
才发现是个屎坑的情形
(以上内容请勿转载)
回首望去,距我在生活上90%使用Linux,已经第五个年头
(10%是某些只能在Windows上面进行的娱乐跟开发
没办法,日本的那些Gal)
一开始的契机,是一个讲话很靠北的朋友:
“阿你都念到X大资工了,不会用Linux不会觉得很废吗?”
还记得当时心里面我很火大:
干!拎爸我能力跟你也没差多少,是在秋条什么?
不过是个作业系统,老子又不是没底子,就学给你看!
于是怒把Windows洗掉,想说背水一战试试看。
没想到,就这样一试成主顾,没有再回头过
会这喜欢用Linux,其实也是因为我自己的黑手性格
Windows的开发跟使用,往往只能建基于Microsoft提供的API之上
在API之下,是一个拆不开、看不到的黑箱子
如果用不到还好,但一旦官方API不够powerful时,往往就是事情会很大条
不说别的,Linux有很方便的namespace机制
自从大学时代吃过一张公文后,
我抓东西都很小心的从挂著付费VPN的network namespace出去
而这样可以快速隔离出两个网络空间的机制,在Windows上面不存在
只能靠BindIP这类API hooking的机制,勉强做出来
(遑论Windows上面的tun/tap device也是个hack)
而且绝大多数的娱乐用途,基本上Linux上面都有可以cover的counterpart
看1080p、4K影片是小case,vlc、mpv等等播放器都很完善
电玩的话,撇开比较新的游戏,游戏机模拟器类型的都很齐全
![]()
(贴心提醒:尊重智慧财产权人人有责,请务必购买正版内容)
至于视窗界面,对我来说则是有非常方便的自主性
从一开始Ubuntu的Unity,到后来我换到Arch Linux后
开始改用OpenBox、甚至后来使用tiling的i3wm
可自订性一直是Linux上面的软件很重要的一点,
你有code、你有设定档的说明文件
你想要什么feature,都有着无限的可能(虽然不乏要自己土法炼钢写些小工具)
想摆个客制化的indicator?没问题
想要一个进度条知道编译进度?没问题
这就是喜欢改东西的人追求的事物— —一个不怕你改的环境
或许Windows、OSX在装了某些套件、改了某些registry后
可以作到这样的效果(我用过Windows的bb4win)
但那终究是很hack的东西,
你不能保证哪天Windows要封杀这类东西、不给你hook某个API
而这些在Linux的世界,基本上这块是直接放给你作的分层设计
不过改坏了基本上也只能自己摸摸鼻子来修
所以兜了一大圈,原po想知道的
“使用GNU/LINUX 发行版,
而不用最常见的Windows或是很潮的OS X,
想必一定都会有些理由。”
这些理由就是:
(1) 有爱可以配三碗饭
(2) 手贱又对功能的要求很多
= = = = = = = =
既然是八卦版,自然就要补挂点......
是说开源世界也是很多派的
有人的地方就有江湖,倾向不同打笔战的情况从没断过
而GNU一派的教主— —RMS可说是自走砲,
对于早期的自由软件运动贡献良多
可说没有他,就没有现在的这些成果
但他老人家有时也常常住海边,管很宽
像前年他说Clang是BSD license、会set back on FreeSoftware那件事,
就让对系统开发有关注的我觉得超级不以为然:
你们家的GCC就实在就不好port,
而且既然你的那些小弟常常呛人不爽来fork,
那你们也就不爽的话自己把它改的好一点啊?
还没说bugzilla上面陈年旧bug多的跟什么一样
更别再搬那套“你们势单力薄”之类的了
你们是在llvm出来前开源世界最大咖的compiler专案了
Red Hat、还没开始跳船前的Google、Apple......
现在看人家写的比较现代化,却怪人不用你那套方式授权
实在给让人觉得脸上挂三条线Orz