為什麼 Linux 在桌面會失敗?

不談論中國特色的問題(如中文字體、中文輸入法和特定程序如 QQ 的缺失),為什麼 Linux 桌面發展二十多年仍然無法進入主流市場?
我希望看到一些多於一句話的回答。

  1. 為什麼選擇太多會阻礙 Linux 桌面(中的任何一套完整解決方案)成熟進而進入主流市場?
  2. 為什麼其中任何一個「選擇」——任何一個發行版都無法與微軟或蘋果的產品競爭?
  3. 為什麼 Linux 平台 / 開源社區沒有形成 MS Office / Apple Pro Tools 這樣的殺手級應用?這個平台對應用開發有著怎樣的限制?
  4. 一直以來被認為能夠產生最優質代碼的開源開發模式為什麼會在桌面市場失敗?
    • 個人直覺是:缺乏一個足夠成熟的 QA / QC / release 流程,尤其在日常更新方面完全缺乏這樣的流程式控制制。

贊同了 @Bill Cheng 先生的回答,不過感覺 @Bill Cheng 先生沒有捅破一層窗戶紙,就是:Linux 的社區群體、「圈子」與 OS X,Windows 的用戶群體有很大差別,「文化」也有很大的不同。一切的原因的根源就是在於這些「文化」、理念上。

Linux 與 OS X, Windows 生態圈最大的差異,就是在於 Linux 的用戶和開發者基本重合,即很多用戶既是 Linux 的使用者又是 Linux 的開發者,因此,上文里用了「社區群體」,區分與 OS X 的「用戶群體」。Linux 社區群體里的開發者開發的軟體心態基本是這樣的:「我開發了一個軟體,自己感覺還不錯,大家也用一下吧。雖然還是有一些小 bug,缺少一些 feature,界面也比較粗糙,大家在用的時候順便也幫忙完善一下」、「嗯,這個軟體看起來不錯,我來幫忙修一下 bug 優化一下性能吧」,和「我覺得我做的菜不錯,鄰居們都過來嘗嘗吧,歡迎再給點意見」差不多。Linux 的開發者大多開發軟體都不是出於 make a living 的目的,而只是想做一個自己喜歡社區也喜歡的一個東西出來,因此,Linux 的開發者會以自己與社區的需求為先,做的差不多就發,雖然可能還帶著很多 bug 什麼的。一些用戶體驗、界面上的不足就被排在較低的優先順序了。這個也造成了幾乎所有 Linux 發行版對大眾用戶不夠友好的緣故,例如配置一些東西時不時就要進終端輸入命令,Gnome/KDE 的界面雖然看著說的過去但總是感覺有些彆扭,等等。注意在這裡並沒有提到「用戶體驗」這個詞,因為絕大多數 Linux 發行版本身就不是為大眾用戶製作的。這也許就是在 Linux 里,X-Window 這樣的視窗管理器不僅低效且不穩定的緣故吧,因為開發者 don"t care.

Linux 社區文化的另一點就是,推崇自由軟體、開源協議。這帶來的另一面就是明裡暗裡地歧視私有軟體、商業軟體。比如,大部分的 Linux 發行版都不帶有 MP3 文件的解碼器,因為 MP3 的技術不屬於公有領域。這樣,給了大眾使用者許許多多的門檻。如果不信,試試您不給指導,讓您的女朋友或父母從一個剛剛全新安裝的 Linux 發行版里聽 MP3,看看花多長時間能解決。推崇自由軟體、開源協議還帶來一點就是 Linux 用戶大多不願為商業軟體消費,而是更喜歡自己動手,自給自足。反過來商業軟體開發商也就不願意為 Linux 開發軟體了,反正開發出來了也沒多少人買。以前在 Unity 遊戲引擎官方論壇的 Wish List 板塊,很多人呼籲開發 Linux 版的 Unity 開發套裝,但被 Unity 的高層拒絕了,原因就是說 Linux 用戶消費意願不足,不值得冒風險去投入。這樣,像 Linux 版 Maya 這樣的商業軟體在 Linux 世界真的可謂鳳毛麟角,而且 Maya 也應該不是為「散兵游勇」Linux 用戶開發的,更可能是為大企業開發的,裝在渲染農場里的那些 Linux 渲染伺服器上。因此,大眾用戶「誤打誤撞」來到 Linux 世界後,往往會因為找不到適合自己的軟體而發愁。特別特別是遊戲。我們回顧一下各種操作系統的歷史可以看到,所有成功的操作系統一個共同特點就是有大量優質的遊戲,如 Apple II、DOS、Windows、iOS。然而 Linux 的大型遊戲也就是 id Software 的那些,別的倒是也有,不過看看別的 Linux 遊戲,如 Nexuiz,除了 Linux 用戶以外還有誰玩?沒有大量優質的遊戲,Linux 註定無法在大眾領域走進去太深。

還有,人會生病的,電腦也會出問題的。像 OS X、Windows 系統出問題了,還都是比較好解決的。如果是 OS X 的用戶,可以用 Time Machine 恢復一下,或者進恢復系統重新下載 OS X,實在自己解決不了就預約 Genius Bar. Windows 系統出問題,找高手幫個忙、自己重裝系統、拿去修電腦那裡也能把問題解決掉。但是用 Linux 出問題找誰?周圍別人都沒人用過甚至聽說過 Linux,拿到中關村那幫修電腦的小工也不會修(要是會的話還會去修電腦?),只能靠自己。Linux 的社區文化崇尚自己解決問題,如果貿然去問一些很常見的、Google 一下就知道答案的問題,很容易遭人白眼的。因此,大眾用戶即使忍受住系統本身惱人的體驗以及找到了常用的軟體後,如果系統出問題了,那麼大多數也就此打住了。

說到這裡,並不是想說明 Linux 有多麼不堪。我自己也是從高一開始並行用 Linux 和 Windows 的,高三結束換到 OS X 至今,最近折騰虛擬主機又重新學習了點 Linux。聚集一些喜歡折騰的人,大家一起開發一個自己喜歡的操作系統,在這個系統上自己開發自己喜歡、社區也喜歡的軟體有什麼錯呢?何況 Linux 有些地方做的還很不錯,比如用戶可以從軟體倉庫方便又安全地下載軟體。並且,開源軟體並不一定意味著不好用,比如同樣是 3D 建模軟體,開源的 Blender 就要比私有、商業的 Autodesk 3Ds Max, Maya 要好用的多。同樣,用 OS X 的,Windows 的,給這兩個平台開發商業軟體的也沒錯,大家總要 make a living 哪,也要上個網、玩玩遊戲什麼的。錯就錯在貿然闖入另一邊的社群說一些不好聽的話。比如您要是發明了一個新的菜,自己吃了後不錯,邀請鄰居們嘗嘗,總不希望有人當面說:「這菜真是狗屎!跟大華酒店做的根本沒法比」吧?同樣,如果您正在大華酒店吃飯,吃得正來勁時突然有人湊過來說,大華酒店做的太爛了,而且還放地溝油,去我家嘗嘗我做的吧。雖然是好心,但您也不會太樂意吧。人活在世上,隨時都要提醒別太把自己當回事兒了,不要總是試圖給別人灌輸觀點,您說是吧。


怒答!

事先聲明,我不是一位Linux開發者或程序員,但看到這麼多帶有強烈的成見的答案,當中不乏得到多數贊同的@Bill Cheng 和匿名用戶的回答,可見大眾對linux的誤解是何以的深!

先擺觀點,個人認為:從商業角度出發,Linux桌面系統算不上成功,它錯過了佔據PC桌面系統市場的機會;從產品角度出發,Linux桌面系統提供了很多合格的選擇,當中不乏優秀。

關於 @Bill Cheng 的"由於Linux不在乎個人市場"的觀點

這個觀點就沒有表述清楚。任何個人可以通過編譯好的內核搭建Linux系統,不販售的話何來"市場"這個概念?關於下文提及的「選擇Linux的發布形式」,我實在不理解個人製作和自由使用的Linux發行版跟"個人市場"有什麼關係。任何用戶有選擇安裝Linux操作系統或者發行版的權利,絕大部分Linux桌面系統不需要個人用戶付費使用,這些Linux系統何來「市場」一說?用戶要花錢跟買微軟買才能使用Windows正版,要花錢買蘋果的產品才能使用iOs/OS X。如果按照語義這裡特指商業化的Linux發行版,還是面向個人用戶的(存在收費模式的)發行版,對不起你下文都偏題了。

先拋開這個邏輯問題,@Bill Cheng 的第一個觀點,關於用戶在選擇Linux的發布形式時的問題。首先現在主流的面向個人桌面用戶的Linux發行版,包括回答中提及的除了Arch以外的都是自帶GUI的。其次,每個發行版對應不同的操作系統,提供用戶根據自己的需求做出選擇。因為用戶基數小而選擇很多的事實,用戶不熟悉發行版是很正常的事情。像「我的電腦是裝OS X還是Windows好呢」,「我應該安裝Vista,Win7還是Win8好」這種問題不也經常常引起口水戰么。且不論提問方式是否有問題,用論壇回復的例子到底能說明什麼?

第二個觀點,關於應用程序的安裝的問題。Linux也是通過安裝包來安裝程序啊,要不然你下文指的deb/rpm到底是什麼。現在的主流Linux發行版都有包管理,系統自帶常用應用程序;嫌不夠可以直接從源上下載;源裡面沒有提供的還有軟體倉庫,點個滑鼠就能安裝;軟體倉庫都沒有的軟體主頁上總能下載到吧,Windows有這麼方便過么?要自己搜索軟體下載,點開正確的下載文件程序,一路點擊「下一步」,還要留心各種(流氓)選項。開源代碼?人家發布的源碼提供的是一個「項目」而不是一個「可執行程序」,你是不是理解錯了。用提供可供閱讀,修改甚至允許再發行的源碼替代黑箱可執行程序來發布自己的軟體是發行者的選擇。忌諱如深的商業應用程序能說明桌面操作系統安裝程序的優越性嗎?這種交給用戶選擇放心從源下載自由軟體二進位程序,從軟體主頁獲得程序源碼的方式,怎麼就變成一種負擔了?

至於rmvb視頻,安裝任何一個操作系統之後,你倒是給我打開看看到底能不能放 。說白了還不是因為閉源封裝視頻的問題么。Ubuntu可以裝VLC/mplayer,軟體倉庫有滑鼠一點自動安裝還要更方便嗎。順帶一提Mac用戶也是要額外安裝解碼器包的哦,在Windows上面也要安裝QQ視頻/迅雷視頻/暴風影音之類帶解碼包的軟體之後才能看rmvb視頻很有優越性?

關於第三個觀點,要黑Linux內核更新的話,請專業一點。遍布世界的Linux開發者都在為你的Linux系統更廣泛的支持新功能特性新硬體支持作出無私的不懈努力,才有一直在更新Linux的內核,為的就是在各平台(不僅是個人桌面平台)提供更好的選擇。請不要因為你沒有直接感受到很多人在幕後的努力而發表「沒有關鍵更新幹嘛要更新」的錯誤觀點,恰恰是因為你在使用的Windows內核更新緩慢,只有在正式發行新版本的時候才可能被提上日程,你才有"沒有必要更新內核"的錯覺;而且也不見得Windows每個更新都是關鍵更新,反而你應該祈禱微軟千萬不要有出問題時候分分鐘致命的內核漏洞,有的話你得祈禱微軟趕快發行所謂的"關鍵更新",來避免可能的錯誤、藍屏甚至變成肉雞的風險。操作系統過時不再支持了?抱歉任你技術高強也無能為力(對XP說的就是你)。這點來看可以更新和更換內核的Linux到底哪點不好了?

答主你也提到內核級漏洞很少見,也間接說明Linux內核的可靠性(有條件的用戶甚至可以自己patch)。硬體的支持問題往往是硬體廠商(選擇性)忽略Linux系統的過錯,這裡有廠商為自己商業利益的考慮,也是使用Linux的用戶基數的事實導致的,但即使在這種惡劣的環境下linuxer們還能反編出Nvidia的開源驅動Nouveau和逆襲ATI發布Crystal,也說明Linux在驅動開發上的努力能有所回報不是嗎。答主要的不是黑嗎,我來列舉一下Windows的:
內核新特性?就說文件系統支持,從Window95開始用到現在的FAT/exFAT,Windows10前也只有NTFS可選,需要新功能嗎?請使用第三方軟體,或者等下個再下個版本。
內核號混亂?呵呵請問Windows 10為什麼叫Windows 10不叫Windows 9。
內核號更新?請問從95版本開始桌面版才經歷了幾次大的內核更新?
內核默認驅動支持?遠的說XP前沒有顯卡驅動你只有256色,近的說Windows10不安裝顯卡驅動N卡桌面關特效都卡成狗。

說Linux內核都是Beta的,請先搞清楚內核版本號的問題再說吧。

說到UI的問題,什麼「原生的Linux時不帶任何UI界面」才是上世紀的觀點,我從一開始就反駁了,基本主流發行版都有GUI了好嗎。文件管理、軟體安裝、影音播放、系統設置諸如此類都可以不用命令行的,沒有人強迫你。Windows從第一個版本開始到現在也還保留命令提示符好嗎,我想修改路由表想建立文件軟鏈接同樣都得打開這貨,就是因為不方便才有各種軟體幫你做同樣的事好嗎。對了,要說命令行退出歷史舞台的Windows最近嫌不夠還搞了個PowerShell,算打你臉了吧,我就不說有多不好用了。

「所有LInux桌面軟體都是殘缺的」。拜託請噴得有意義一點,通篇看不出那裡說殘缺問題了。從輕量的Xfce/LXDE,到日常的Gnome/KDE,都各有特性,是非常成熟的桌面管理器方案,試問它們得罪你哪裡了。真的功能未齊全的桌面環境只有Enlightenment之類還沒開發完值得你噴而已。說功能有虛擬桌面,說美觀有Compiz特效,說實用有平鋪桌面,說自定義有Dock,還有多標籤文件管......這些都甩了Windows多少年了好嗎。

說起微軟的設計UI一時一個樣還不好用,win8的全屏動態磁條要是好的話怎麼不留,開始菜單怎麼又改回來了,win10你試試在平面風格UI的設置裡面點一下高級選項彈出控制面板選項?統一性呢?協調性呢?開始圖標點右鍵點開菜單看看,發布時候是白底黑字的更新之後是黑底白字,跟主題顏色配套嗎?不見得。能改嗎?並不能。還有那個Ribbon比XP年代的UI簡直就是退步,無論是Office還是Explorer整一條都混亂不堪:平常太佔地方了要藏起來;要操作時候點開一下;想想到底是view還是edit還是別的,點一遍翻個遍;右鍵都能用的大大的剪切/複製/粘貼之類是多麼的顯眼而累贅;好多選項還要點一次下箭頭,在彈出菜單再選,好了來統計一下你點了多少次滑鼠了呢。

不說微軟說蘋果的設計業界頂級了吧,Mac的新人們,你們找過x關閉窗口嗎?有三個點錯按的經歷嗎?你們也都有在菜單裡面迷惑過的經歷嗎,請舉個爪。我還在色盲人面對按鈕顏色怎麼的問題上想了好久,大家能給我解答疑惑一下嗎?

說Linux的UI不好用算你要求高,你可以覺得輕量桌面不合你口味,可以因為Gnome 2樸素放棄它,可以不喜歡KDE多而全的菜單,可以嫌棄Unity的布局,但請大家在唾棄Linux桌面管理器之前好好的試用一下最新版的Gnome 3。它一致美觀而簡約的UI風格,強大的功能,方便的快捷鍵可以使你沉浸於高效率的工作,而不是桌面環境的糾結中,這才是真正為用戶著想的桌面管理器。那些認為它過於激進不好用的人可以保留一下指責了。

再插一句,Linux不同桌面管理器是可以兼容的,你可以全裝上喜歡用哪個就哪個,多用戶還可以同時用不同的桌面,Windows/OsX用戶有這麼好的待遇嗎?要改UI你還得先搜一下什麼"windows/osx美化",「windows/osx主題」,「windows/osx特效」....

黑Linux大神布教的,請你先提供出處和語境,斷章取義的行為真心要不得。其次,開發各種桌面環境UI的,他不參與,也沒有權利影響開發。作為用戶,而且是作為一個Geek,我相信他只是發表自己的觀點而已。還有,我很尊敬Gnome/KDE的開發人員,奉獻patch的開發者,以及報告Bug的用戶,從來不覺得他們是「二等公民」,他們為Linux作出了大量的奉獻。

最後連系統穩定性都要黑的,我實在連反駁的氣力也省了。有人不提CentOS/RedHat的關係,不提Debian的更新機制,不提Ubuntu的發行支持周期,不提Fedora/Arch的滾動更新,不提普通軟體包和系統軟體包的更新區別,只來一句「每次更新好多更新哦一定是穩定性不行了」。這個觀點我只能送兩個字:幼稚。

還是回到@Bill Cheng 你的觀點上:你到底是想噴Linux內核,Linux桌面環境還是Linux發行版?Linux的思想核心就是開放和自由的開源項目,賣硬體只利用Linux操作系統免費使用和發行的特性,Linux發行版普遍不面向個人用戶售賣操作系統本身,有關Linux商業化所涉及的主要還是服務,所以我不覺得現階段拿Linux跟其他商業操作系統比較有什麼意義,因為它們的根本目的都是矛盾的。"Linux不在乎個人市場"這種觀點本來就錯得離譜,更不要說回答裡面各種過時,誤導和偏見的成分了。

——————————————————我是分割線———————————————————

關於 @匿名用戶 補充的"失敗根源在於文化"的觀點

這位用戶的觀點非常有意思,但用"文化差異"解釋Linux在商業領域上的落後,有點本末倒置了。

誠然,Linux用戶中有很多是Linux開發的一員,這點是對的。這是因為Linux內核以及很多桌面環境是開源項目,任何人都可以參與其中,所以造就了這一事實。反觀Windows/OS X是閉源操作系統,自然參與開發的人少。但是!首先要澄清,參與開發並不代表參與設計!大部分的所謂開發者只是參與完成小部分的代碼,測試,提交patch甚至只是找Bug。真正在項目里有話語權的只有極少部分人,而這部分人在開發中的地位有如喬幫主在蘋果的地位一樣。正因為這些Linux桌面系統的設計者傾向以程序開發者的角度設計開發,很多時候帶有強烈的風格。(類似地,Google的產品也帶有這種特徵,擁有很多普通用戶無法理解,但程序開發者能夠意會的"個性"——他們會認為這是一種美學)。相對而言,商業桌面系統需要照顧普通用戶的審美和使用習慣,會花大量的人力物力財力在改善用戶使用體驗和效率上,儘可能擴展用戶群,只有這樣才能實現操作系統的商業利益最大化。而不太考慮商業價值,也沒有足夠經濟基礎提供支持的Linux桌面系統,自然不會在這方面優於商業桌面系統,從而流失了大量的普通用戶群。現實結果是,Linux桌面系統很難吸引普通個人用戶,而是發展了自己的核心技術用戶。儘管有像土豪支(zuo)持(you)的Ubuntu項目和面向普通個人用戶摸索商業模式的Mandriva Linux項目的嘗試,根深蒂固開發理念還是限制了Linux作為個人桌面系統的普及,在市場佔有率上長期疲軟。

(待續)

總而言之,像我這種普通用戶現在能夠在操作系統上有更多更好的選擇,Linux功不可沒。我非常感謝開發者,也非常感謝社區。必須承認由於缺乏商業支持和一統的上游,Linux操作系統開發的碎片化情況很嚴重(即使強大如Google也沒有在Android上很好解決這個問題),人機交互的設計上還不是很成熟,但最近幾年的奮起直追讓人看到Linux作為個人操作系統的強大潛力。還請大家在充分了解它之前保留一點偏激的意見,還社區一個清凈的環境。


想回復這個回答的:為什麼 Linux 在桌面會失敗? - 匿名用戶的回答,但關了評論,只好直接回答。

聽歌

玩遊戲,下面這個就是Unity做的

這是Top Sellers

開箱即用有深度linux:武漢深之度科技有限公司
前面的網易雲音樂客戶端也是他們搞的

Linux世界早就不是個小圈子了,哪有什麼共同文化共同理念,各取所需而已。Google拿一些做Android,Valve拿一些做Steam OS,甚至微軟都拿一些做Ubuntu on Windows、做docker on Windows。
今時不同往日了。

我的父母親戚,除了辦公需要都很少喜歡對著電腦了,不是手機就是平板。桌面是個日薄西山的市場了,吸引不了投入的了。這和文化和理念根本沒有關係。Windows在桌面市場稱雄多年,在移動市場還不是一敗塗地。難不成也要怪文化怪理念?

=== update ===

安卓手機的碎片化程度比linux發行版高得多,各家的各種魔改rom,做app要兼容幾十上百種機型,還出現了雲服務!https://www.qcloud.com/product/MGCT.html。但大家還是投入去做,為啥?有錢賺啊。linux桌面如果能有這個盈利生態,兼容幾個主流發行版算得了什麼?所以碎片化並不是原因。

安卓就是linux的GUI環境的一個成功的例子,手機平板電視等的設備數量比pc多得多,都是跑linux內核啊,各種奇形怪狀的硬體,也都驅動起來了。「Linux內核和上面的所有東西,說白了就是個Beta,一個Beta,玩家玩玩可以,用戶用起來肯定是不行的。」,是啊很多人用著的安卓手機都是不行的啊,搞笑!你給錢他們都換成蘋果,還是推薦他們都去用Windows Phone?


其實研究 Linux 為什麼不能佔據主流市場是沒意義的,有意義的是研究為什麼除了 Windows 之外沒有任何桌面系統能佔據主流市場。

Linux 不能佔據主流的所有原因,都無法解釋為什麼沒有另外一個系統佔據主流。而我的觀點卻是:其實除了 Windows 以外沒有任何桌面系統能佔據主流,因為所謂『先發優勢』。Windows 先佔領了這個市場,其他人就很難進來了。

反過來說,微軟跟蘋果也永遠無法在伺服器市場佔據主流,這同樣也因為 Linux/Unix 系統的先發優勢。——無論 Linux 對普通用戶而言多麼難用,在伺服器市場它仍然是主流,為什麼?答案僅僅是因為 Linux 先佔領了伺服器市場。

同樣,這也是我不看好 WP 的原因,因為 Android 其實已經把移動操作系統的市場佔掉了,Windows Phone 想掰回來基本上已經不可能。這就是所謂先發優勢。至於 iOS 那是自己不授權,如果當年 iOS 開放授權,允許所有產商的設備都可以安裝 iOS,那麼這個世界上應該就沒 android 什麼事了。


這跟Unix的設計理念(所謂「哲學」)有關
Unix下,一個軟體只需要做好(邏輯上的)一件事情。用戶在面對實際問題的時候,需要自行裝配「工具鏈」。這對於Developer或者有技術背景的用戶來說,是友好而自由的,因為他們能夠自行把業務需求轉化為邏輯需求,對其中的每個「工具」都比較了解,並具備裝配「工具鏈」的知識。

而Windows下,以微軟為首的商業軟體開發商則提供整合的軟體工具。針對某一業務需求,直接提供一整套的軟體,而不需用戶自行裝配。

例如「打論文」是業務需求,將其進行需求分解可以分解為「文本編輯」 「排版」 「列印輸出」三個部分。

在Unix下
「文本編輯」這個需求可以用vi vim emacs nano
「排版」 這個需求大家比較熟悉的是TeX,但是仍然有LaTeX、ConTeXt等諸多變種可以選擇.
「列印」 這個需求有 Berkeley printing system、CUPS、LPRng等等Print Spooler可以選擇。
對於沒有專業背景的用戶來說,但是從這些工具中做出選擇就已經足夠讓他們頭疼一陣子了。

在Windows下
像Printing Spooler已經被微軟整合進Windows,一個MS Word完事。


太開放了導致各家爭鳴不統一,這也是後面軟體安裝易用性造成問題的根源。

與此相應,可以參見蘋果相對霸道,封閉的系統為何取得了現在這麼大的成功。


Linux桌面可以說始於KDE(各種WM都不是完善的成品解決方案)。KDE的底層是Qt。Qt在當時有許可證的問題。之後GNOME作為一個非Qt底層(開始GNOME也是用了Qt),崛起了。GNOME的底層使用了GTK+。

Linux桌面在底層出現了二虎相爭的局面,這對應用開發者來說,造成了選擇障礙。從易用性上來說,Qt是相當好用的,但它直到09年才推出LGPL版本。GTK+在自由軟體領域沒什麼問題,但它是一個C庫,界面開發卻是一個OO的領域。

Ubuntu的出現,對Linux桌面推廣,起到很大作用。但是後來操作系統桌面設計出現了很多新的東西,Linux桌面變得混亂了。比如GNOME3的設計過於顛覆,再如Ubuntu換上了操作方式與GNOME2很不同的Unity。

我不知道這些設計上的轉變是不是受到了OSX的影響。近些年,使用Mac在程序員中是一種流行。程序員是Linux桌面當前的主要推動群體。

GNOME2時代的Linux桌面的穩定形象被打破了,搞得用戶也有了選擇障礙。即使一個拿Linux做桌面的核心用戶,都沒法說什麼環境是最優的。可以說現在的Linux桌面發展得有些不健康。需要一個演化的過程。

我覺得Linux桌面如果不是因為很多方面不夠健全,至少能達到OSX的普及度。至於Windows用戶的使用習慣問題,其實不會對Linux桌面推廣產生那麼大影響。Linux桌面大部分操作還是很像Windows的。而且現在這個移動時代,GUI的變化是很迅猛的,用戶有這個適應能力。實際上,用不了Linux桌面的用戶,也用不好Windows。他們也只是會用滑鼠點一點而已。


作為一個有十年左右Linux使用經歷以及5年左右Linux社區貢獻的用戶,我想簡單總結幾點:

1、根本原因:沒有一個強大的「中央集權」的推手

為什麼Android可以這麼成功,因為Android有Google這樣具有巨大資源的推手。但是 Linux 桌面沒有這麼巨大的推手,只有像 Ubuntu 這樣勤奮,但是資源卻並沒有Google這麼厲害!

2、其次(因為1):碎片化嚴重

碎片化有:平台/桌面系統碎片化、核心應用等碎片化,這些會導致資源過度分散,資源分散的結果是沒有足夠的人力物力去做用戶需求、去做設計、去做代碼評審,去做測試、去保障產品質量。

產品質量不是說「開源開發模式「就能保證的,開源只能保證大家都有機會看到代碼,不能保證這個代碼會經過完整的評審,如果沒有人經過嚴格的評審和全面的驗證,代碼簡單入庫後就會隱藏Bug。

3、再者(因為1、2):缺錢缺人還有缺規範

上面兩個導致單個的應用嚴重缺錢,當OpenSSH有漏洞的時候大家才發現那些開發者蠻多是純粹依靠精神在支撐者做研發的。如果沒吃的,哪有力氣寫代碼?!不管在國內,還是在國外,有了基本的生存保障以後,加上FLOSS的精神,才可能成為開源的貢獻者,光有精神是不夠的。

沒有錢,沒有生活保障,這些應用開發的人從哪裡來?

沒有人,即使有規範,也執行不了,代碼變更只能勉強入庫!社區的管理方式其實是鬆散的,規範在沒有足夠人手的情況是並不一定能夠嚴格執行的。

利益相關:【泰曉科技|http://TinyLab.org】專註於產品級嵌入式Linux研發與交流,歡迎一線工程師參與分享與交流。


市場這個東西,好東西不一定會成功,失敗也不一定是因為不好。

在桌面領域,即使 Linux 處處做得比 Windows 好,也不能短時間內撼動 Windows 的霸主地位。

在伺服器領域,即使 Windows 處處做得比 Linux 好,也不能短時間內撼動 Linux 的霸主地位。

但同樣,Windows 無法消滅 Linux ,無法消滅 macOS 。 Linux 和 macOS 的用戶數量這些年一直在緩慢增長。只要微軟加把勁再多出幾個 Windows 8 這樣的產品,Linux 就有希望啦!


普通用戶思維模式是找一個能「站對了的」隊,以免學習成本沉沒

Linux發行版那麼多,又有Gnome、KDE、Xfce那麼多選擇,根本沒法「站隊」啊


因為Linux沒有在易用性上堅持KISS原則(keep it simple and stupid),僅僅是在系統架構上使用了KISS原則。

因此,對於系統管理員或者程序員來說,Linux是易用的。對一般用戶而言,Linux是難用的,用戶需要一個開箱即用的作業系統,不是半成品。

要不是Ubuntu在用戶易用性上發力,恐怕Linux桌面的用戶數要比現在少得多。估計有不少人和我一樣,當時被Ubuntu宣傳的3D桌面等特效所吸引,才知道世界上原來還有一類系統叫Linux。

微軟的黑屏事件估計也讓不少人從Windows跳到了Linux。這本是Linux推廣桌面難得的歷史機遇,可惜Linux缺乏強有力的整合,拿不出足夠好的、適合普通用戶的產品,沒能順勢而為、擴大地盤。

從發行版的數量上,好像Linux進步了、繁榮了,但看看office等桌面應用軟體,就知道整個Linux生態圈是多麼凋敝。用悟空的話來說,「該他一世無夫!」

Linux在桌面的失敗,多少和Linux圈強烈的geek精神有關。把用戶當成geek,這樣的理念肯定是做不好桌面的。


根本原因就是因為Linux不在乎個人市場!

=================
更新:
既然有人說我這個答案『這麼呵呵』還能上知乎的每日精選
好,那我就負起責任,來把這個答案弄得不那麼『呵呵』

首先是Linux的發布形式
原生的Linux就是一個內核,一個命令行。當然,你可以說用戶一般選擇的都是帶GUI的版本,好,Linux帶GUI的辦法有多少?說點誇張的話,我可以自己打包一個Linux內核 + KDE,都不用可以運行,我就能說自己這個iso啥的是一個Linux發行版。
扯實際點,用戶能選擇的Linux發行版有多少?Ubuntu、Fedora、Kubunntu,Mint,Arch,Radhat,Oracle Linux……這麼多版本,你讓用戶怎麼選擇呢?
是的,用戶可以去上論壇啥的看推薦,但是,你看看你們心愛的Linux論壇,就算是一個論壇的,大神推薦的系統也是不一樣的,當用戶問出『這些版本有什麼區別』的時候,他就準備被弄暈了。不過更多的時候,『熱心人』只是貼上一個鏈接或者丟下一句冷嘲熱諷。(別說不是,我碰到多了)

好,經過千辛萬苦之後,用戶終於選定了一個Linux發行版,我們這裡就用Ubunut做代表吧。Ubuntu提供了軟體市場,提供了方便的下載軟體和所需要的系統包下載方法。
但是對於習慣了『通過安裝包來安裝程序』的用戶呢?別說這種用戶是少數啊,要是這種用戶是少數,那麼Windows應該就沒人用了。
下載deb或者rpm安裝包,如果有提供的還好說,如果是沒有提供這兩個安裝包的項目呢?當然,像Netbean那樣提供.sh安裝包也是很好的。問題是,有很多開源項目僅提供了一份src……Ubuntu原生不帶GCC的哦,讓用戶敲命令行你就輸了哦。準確的說讓用戶敲命令行基本上不現實……

接下來?接下來這次實驗到此結束,對於一個普通用戶而言,做到這一步已經是極限了。可惜做到這一步,可能還是沒有辦法打開rmvb視頻……至於為什麼是rmvb視頻,你懂的……

說完了這個,我來說一下下面很多人噴的『Linux內核更新』的問題
的確,Linux每次內核更新都很少見到關鍵更新(沒有關鍵更新發個正式版干毛),然後內核修正也不是很多,版本號太過於混亂以至於大家都不怎麼在意了(Linus一句話就從2.6跳到3.0)……
但是啊,你既然發出來了,用戶用不上只能看著Change Log干著急是什麼意思?還有啊,真有大更新了我用的發行版沒跟上怎麼辦?(Ubunutu升級3.0內核時間……殘念)要是他丫的來了個內核級漏洞,然後內核更新了我沒法跟上呢?(當然很少見)不過要是突然來了個內核更新支持了我的某個硬體呢?(很常見!)
Linux內核和上面的所有東西,說白了就是個Beta,一個Beta,玩家玩玩可以,用戶用起來肯定是不行的。
什麼?你說為啥那麼多伺服器用Linux?嘿,你也不看別人商業伺服器用的是多久之前的Linux,Beta這麼久了還能出什麼錯……只不過官方不給『轉正』而已……
=================

首先,原生的Linux時不帶任何UI界面的,這種玩意在上個世紀可能會受到歡迎,但是在這個世紀肯定是行不通的。我不覺得除了程序員和學生還會有第三種人會去用這種只有命令行的系統。
其次,所有『Linux桌面』軟體都是殘的!你把Gnome和KDE放在那裡和Mac或者Win的桌面對比,這能比么!從UI庫到界面風格到交互設計,這前兩者有哪一項是可以強於後兩者的?而且,退一萬步說,Gnome和KDE做的再好,也只是一個Linux的外掛程序,說不好聽點連外掛模塊都算不上,對於系統來說這兩貨和他們的庫就是二等公民。再看看別人Mac和Win……不談……
最後,Linux的創始人Linus大神永遠和站在他身邊的人一起布教:『UI對於系統是不重要的』。領導人都這個觀念,你說下面做開發的其他人會怎麼想?說是在我覺得連Gnome和KDE項目的開發人員在Linux界都有點二等公民的感覺……
沒有UI,UI做得不好,哪有普通用戶會去用?

再一個要說一下得就是Linux對於硬體支持的程度。無論那些支持Linux的人怎麼叫囂『Linux支持幾乎全部硬體』,我都要站在你們叫道『你丫有幾個顯卡是支持做好了的!』
說是在Linux這幫人很奇怪啊,叫囂著支持所有硬體,實際上只是支持了他們自己會用的硬體而已。像是普通用戶使用的顯卡之類的,這幫人就不研究了,直接把責任推給硬體廠商,然後告訴所有人都去用硬體廠商的那個殘的貨……但就算是廠商出的不是殘的也是用著麻煩啊,你看你Linux內核更新,幾天就來一下,然後顯卡驅動啥的就要重新外掛一次……搞毛啊!

最後說一個穩定度的問題。呵呵,我就知道會有人站出來說『Linux是最穩定的』,最穩定你倒是讓他不隔幾天就更新一下啊!你看別人Win NT,蘋果UNIX,哪有說過幾天就放出一個新版本的?你隔幾天發一個新系統,然後說前面一個有各種各樣的問題,不更新我們也不管了,這誰受得了?
Linux這樣隔幾天發一個版本,就是根本上不穩定的表現!這種不穩定的系統,真是不知道有幾個人敢用……

總之,Linux有各種各樣的問題。是的,作為一個程序員,作為一個牛逼人士,這些問題你都可以解決、都可以迴避,但是想想你的父母、你的長輩,想想那些連刪除文件都要移動到垃圾箱然後再清空垃圾箱的人,想想那些電腦卡了點就完全不知所措的人,這些人才是個人消費者的主力!這些人無法解決、迴避Linux的那些問題!
還有一些人,他們每天要對著Office類軟體一整天,他們沒有時間來折騰Linux,他們要的是簡單的『打開電腦,處理郵件,處理文檔、處理報表』,這些商業用戶也不會解決、迴避Linux的那些問題,他們甚至不願意花時間來學習解決、迴避那些問題!這些人,也是個人消費者的主力
程序員用Linux的再多,程序員也只是個人消費者的一部分,一小部分,因為程序員實在是太少了。

Linux啊,最終只是程序員的玩物,幕後的柱子。

=====================
本來這段是在上面的,不過我後來想想和主題無關,就放到下面了

本人的很多答案都被點反對點到和第一名相差5+的票數,這次就算是被點到100+我也不會驚訝的,畢竟是Linux這個敏感的玩意。
至於那個在下面評論中說自己點了反對票的用戶,你是要表達什麼么?
表達對我的不滿?不用這麼含蓄,我的知乎黑名單已經很長了,相對的拉黑我的人應該更多,要噴就大膽的噴出來,對噴完大家都封號世界清靜。
表達對答案的反對?那就不要只說你點了反對,你應該寫一個答案,告訴大家為什麼你要反對,如果你不能說出你的觀點,那就把你反對我這個答案在自己的答案中指出來,我們讓其他用戶來決定摺疊誰
為『知乎顯示反對票』這個提議助威?別到這裡來,我的回答就和喳喳一樣,如果我不寫這段,沒幾個人會看到你的評論的。你要助威的相關問題搜索一下即可出現,要助威去那。


Linux本身是各種技術高明又喜歡挑戰的程序員搞出來的。在linux(加上unix,但是unix在個人桌面更不成功)之外,所有平台都傾向於封閉和不開源,一個有探索精神的程序員是不甘受到如此束縛的,所以他們喜歡linux,也為它貢獻了許多東西。由於大量程序員的創造,linux軟體極為豐富,而質量稂莠不齊且不斷更新;由於大家都在不斷嘗試和探索,所以linux的許多技術走在前沿,然後被各種商業公司、機構所效仿;由於是程序員自己做著玩的,所以關於UI,你懂的……;對於眾多探索的geek來說,UI是不重要的,而可以通過代碼互相調用是很重要的,因為這樣可以省下大家很多功夫,於是linux下各種工具都需要可以將輸入/輸出互相對接(一個程序的輸出可以當做其它程序的輸入)……
—— 一種人工創造物的產生,肯定是最符合發明者的需要的

由於linux本身的規定是對商業化不友好(GPL)的,而大多數為他們貢獻的程序員也不靠這個吃飯,所以他們是沒有動力太關心普通用戶的使用印象的。一些linux發行版本對普通用戶越來越友好,比如ubuntu,是因為有大公司在支持;而一旦有了強力的支持,ubuntu作為linux發行版的一種,UI迅速提高了。
—— 只要有人願意去做,linux也是可以做得很好的;至於目前為什麼不像windows那麼好用,因為發展得還不夠久。

作為一種實驗性的系統,許多新技術可以在這裡被發明;由於不需要像windows一樣顧及兼容等問題,技術容易有突破性進展。但是一個變化太多的系統,對於普通用戶來說,是不受歡迎的,因為他們不喜歡一個用來玩的東西還需要自己不斷學習,需要自己配置和調整。
由於linux開源和易於定製,企業是很喜歡這種東西的,而企業使用它做伺服器,一般會只保留自己需要的東西,不輕易更改系統配置;可以供軍事方面學習。
——世界上既需要下里巴人,也需要陽春白雪(並沒有高下的意思,只是做個比喻)

結論:linux在個人桌面的不普及,是因為製造者的本意就不是佔領個人桌面,而後來做UI的傢伙必須要遷就系統和文化,然後再獨創一種在windows和mac之外的友好靚麗界面,勢必是很困難的。個人認為不能看作是「失敗」


因為開發Linux不是為了賣錢,而是為了自娛自樂,所以根本不在乎電腦小白們的感受,本來就不是給你們這些電腦小白用的。


很詫異這失敗從何說起。。。
假如是兩個收費的桌面,那麼他們誰成誰敗,可以用戶的多少來衡量?畢竟他們是掏了腰包的。
做為一個免費的桌面,為什麼要去和收費的桌面比較用戶佔有率?
假如絕大多數人都選擇免費的產品,你讓那些收費的產品情何以堪?
我覺得衡量一個免費的Linux桌面的成敗,應該看其是否存在。
存在是需要成本的,免費而長期存在,這就是Linux的成功而非失敗。


我認為這裡面有一個很重要的內容,上面的人都沒有提到。
我個人感覺,自由軟體的桌面程序的品質,遠遠比不上它們那些基礎設施(如伺服器、資料庫、編譯器、語言解析器等)的品質。這裡面可能有一個原因:GUI程序的開發模式,和基礎設施、命令行程序的開發模式很不一樣。哪裡最不一樣呢?我認為是測試環節。
GUI程序的測試,需要人工交互地進行。與此相比,非GUI程序大部分可以用自動的測試程序進行。這就意味著前者可能更需要專職的測試人員,而這可能正是很多自由軟體所缺少的。


這問題,不寫一本書並做實際的市場調查,沒人說得清楚。


一個字:晚

如果在windows出來之前linux就有了可以用的圖形界面的話,加上適當的宣傳,以它的開放性,也許我們今天就看不到windows了。

那麼,如果上面的假設成立,會發生什麼:

有了用戶基礎兼容性,顯卡、硬體支持都不是問題了。
為了用戶群,廠商自然就會去開發跟進驅動,而有了內核源碼,驅動的開發可以做到更有效率,跟能發揮硬體性能。這一點看看intel對linux的完美支持就知道了。

有了大公司的加入和用戶的基礎,自然地就會形成規範,javascript的發展史就是一個例子。
有了規範後面即使出來各種各樣的桌面環境,他們也會以兼容性為前提而開發,否則誰用?

valve已經證實了經過良好的兼容和優化,linux下的遊戲可以跑得比windows高很多的幀數。

總之,如果linux出的早,一切問題迎刃而解。

而不是現在這樣,陷入:因為沒佔到先機——用戶少——廠商支持少——不好用——用戶少 這樣的死循環。

另外:絕大部分人是因為習慣了windows的操作才覺得linux不好用,試想一下,如果你人生學會的第一個系統是linux會怎樣?
================================================================
再說一些其他的例子:

看看你現在在敲的鍵盤,其實採用的是效率最低的鍵盤布局,為什麼用它,因為早期的機械打字機是這樣的,大家用習慣了。

linux在桌面失利卻在移動市場扳回一城。為什麼iPhone厲害,早是一個很大的原因;為什麼,安卓後來的機子都沒有鍵盤了,因為蘋果的概念已經深入人心;為什麼wp那麼慘,晚了唄。為什麼後來的系統入meego,bada都插不進來了,它們太晚了。

雖然說早,並不是成功的絕對原因,但是晚太狠,尤其是在別人已經養成使用習慣的時候才姍姍來遲,註定是沒有人會give a shit的。

=================================================================
調侃:
Q:中國什麼時候會大面積的接受linux?
A:微軟倒閉的時候。


歡迎指正,歡迎補充。


Linux 平台下的軟體一直都沒有形成一個完整的生態圈,而無法形成一個完整生態圈的根本原因卻在於開源軟體本身。
Apple能夠華麗轉身,靠的不光是其產品(軟體、硬體)精緻甚至是極致的設計,其生態環境的打造功不可沒。
想要建立一個生態圈,首先要有辦法讓開發者從中獲利,這有和開源軟體的開源有些許的衝突。


是否一定要成為佔有率第一才能叫成功呢?你的直覺是「商業軟體」成功的先決條件,商業軟體在受眾和推廣方面有天然優勢,或許你說的這一點是正確的。

很多開源的東西,被商業公司拿去包裝,經過一輪推廣佔有率馬上就能起來。所以說佔有率是商業上的成功而不是軟體的。

殺手級軟體不知道你指的是什麼,我日常使用的運算建模軟體在Linux上都有,拋開這些專有領域上不談,,Steam算不算?我的遊戲庫裡面支持Linux的遊戲也有好幾十款,不乏高分大作。

對一個軟體來說,有相應的使用群體,使用體驗良好就算成功了,從這個角度上來看Linux幾個主流桌面還算合格(Gnome,KDE,XFCE)。從我日常使用Linux桌面時間超過Windows時間算,我作為一個Linux桌面用戶應該有5年了,輕度使用的時間大概有8年了?不太記得了。這期間我從未覺得Linux桌面失敗過。


推薦閱讀:

Linux 中 rc.local、init.d、rc.x、init 這幾個文件(夾)各有什麼作用?啟動執行的腳本應該均放在 rc.local 中嗎?
有哪些命令行的軟體堪稱神器?
Windows系統的註冊表有哪些缺陷?
Linode 里為什麼 Ubuntu 最火呢?
ubuntu 網路連接後有沒有自動執行的腳本?

TAG:Linux | LinuxDesktop |