國產作業系統不僅僅是換皮膚

2020-12-06 51cto

昨天寫國產作業系統的文章,頭條推薦量突破10萬,這證明國人對國產作業系統還是很關注的。有很多人也私信給我各種技術問題,其中能解答的我也有回覆。也有很多問題因為超出我知識的盲區,無法做出解答,非常抱歉。

本來今天要推QT5的研究文章,但通過昨天的議論,我覺得很多國人對國產作業系統上有誤會,「這不就是在linux系統上換一個皮膚嘛」,這種評論我聽到的最多。所以我覺得有必要給對國產作業系統有誤會的人做個科普。讓大家了解這麼多年我們在國產作業系統上做了哪些工作。

什麼是桌面作業系統?

桌面作業系統就是大家平常電腦裡面用的作業系統。 桌面作業系統應該是所有作業系統類型中最為複雜、研發技術難度最高的一種作業系統了。 世界上非常優秀的桌面作業系統有微軟的Windows和蘋果的Mac OS,其他的Linux桌面作業系統,比如Fedora、Suse、Ubuntu包括我們自己的deepin作業系統,雖然這十幾年取得了長足的進步,但是相對於Windows和Mac OS,不論技術先進性、互動設計還是產品質量方面都還有非常大的差距。

桌面作業系統都有哪些部分組成?

一個普通用戶使用的桌面作業系統的組成部分主要包括:

  • 內核、驅動以及固件:主要用於驅動硬體可以正常工作,除了CPU、內存、磁碟外,最主要的是要廣泛兼容不同的網卡、顯卡、音效卡和外設等硬體設備。
  • 軟體倉庫及眾多開發庫:如果沒有開源社區眾多大神打包好的軟體倉庫和各種開發庫,要基於Linux來開發一個作業系統甭說開源愛好者,甚至就是一個中型公司都很難做起來,可以說開源軟體倉庫從本質上改變了作業系統和開源軟體的開發模式,豐富的軟體倉庫使開源開發者、組織和公司能夠使用最新技術的同時開發成本也降低了很多。
  • 桌面環境:就是大家平常一開機就用到的桌面、任務欄和開始菜單等,可以說一個高質量和互動設計極佳的桌面環境可以極大降低用戶使用新的桌面作業系統的門檻
  • 應用商店:對於用戶來說,絕對不僅僅是一個好玩的桌面環境就能留下的,沒有好的應用商店帶來的海量應用和方便易用的安裝操作,普通用戶用幾天就會放棄,可以說應用商店是留住普通用戶的最基本要求。
  • 預裝應用:在國內來看,至少需要解決QQ、Office、網銀和一系列方便易用的多媒體應用才能算是一個好用的桌面作業系統。目前國產作業系統可以兼容很多windows軟體,若是有迫切的需要,可以去官網提交自己的需求來加速適配。

什麼是桌面環境?

桌面環境簡單來說,就是在內核和X Server之上,寫一批程序讓用戶登錄後就可以直覺性、流暢的使用桌面、任務欄、開始菜單、文件操作和系統設置。

這裡對X server做個科普,X server是Linux系統裡面圖形接口伺服器的簡稱。

Windows系統的界面是這個系統不可分割的一部分,各種窗口操作界面顯示都是由系統核心直接管理的,

而Linux的圖形界面並不是系統的必要組成部分,它可以在無界面的條件下運行。當需要Linux提供界面的時候,系統就會建立一個或者數個X server,通過X協議跟窗口管理器交互,由獨立於系統的應用程式來產生窗口,狀態欄,按鈕之類的交互界面。

比較常見的Linux界面操作環境有KDE和GNOME,為它們提供系統支持的就是X server,而並非Linux核心。

總結一下linux圖形界面層次關係:

linux本身-->X伺服器<-[通過X協議交談]->窗口管理器(綜合桌面環境)-->X應用程式。

這個世界上從功能完整性和產品質量來看主要有四個桌面環境:

  • RedHat主導開發的Gnome, Gnome2的穩定性和性能都非常好,包括後面的Mint桌面都是衍生於Gnome2。
  • Suse主導開發的KDE:可以說功能最為豐富的桌面環境,包括產品質量以及性能每年都在飛速進步。
  • Ubuntu主導開發的Unity: Unity身上還是可以看到很多Gnome2的影子,產品質量和性能都不錯,Ubuntu自己獨立開發了Mir、Unity桌面環境和一些全局菜單等獨特特性。
  • Deepin主導開發的DDE: 作為DDE的開發者,客觀的評價,產品質量、設計視覺都符合中國人的習慣,很多地方的互動設計細節要比其他桌面環境做的更加精緻和簡單,主要面向開箱即用的非技術型用戶,從功能設計上並不適合技術高手和那些本來就喜歡折騰的技術型用戶

其他輕量型的桌面環境,比如LXDE、XFCE、Enlightenment雖然性能極佳,但是從桌面環境的功能完整性和互動設計的精緻性上都不夠,比較適合有一定技術深度,追求性能和自己配置多於開箱即用的技術型用戶。

剩下的就是一堆平鋪類窗口管理器,比如大家熟知的:awesome, i3, xmonad, dwm, stumpwm等等,這些窗口管理器型的桌面環境有300多個,我曾經為了研究所有桌面環境的特性,把這些窗口管理器都用過,最喜歡的是xmonad。這類窗口管理器的可以把個人的工作環境內存和性能消耗降到極低,而且可定製性極強,甚至可以通過編程來打造自己獨一無二的工作環境。這類窗口管理器型的桌面環境比較適合開發人員和黑客,當然也不乏國內一大批裝X用戶。

桌面環境和那些換主題的工作差別在哪裡?

可以說,桌面作業系統的核心技術和產品功力都聚焦在桌面環境上。 只有掌握了桌面環境這個古老而又深奧的核心技術,才能說在桌面作業系統上可以任意修改和改進,才能給用戶帶來更好的用戶體驗。

因為桌面環境強調的是從上至下全棧技術攻克,不論技術深度、技術全面性和代碼工程量來說都是巨大的,開發一個功能完備的桌面環境需要20+人以上的團隊工作最少2年以上才能打造出來,而且桌面環境的技術核心全部都依賴一批古老的協議,比如:x11、xcb、composite等基礎技術,網際網路上幾乎沒有文檔教你怎麼一步一步的構建桌面環境,現成的桌面環境因為發展多年,代碼已經非常複雜,最多只能從核心代碼片段有所學習。一個人要自上而下框架式的學習桌面環境核心技術並實現一套功能完備的桌面環境幾乎不可能。

所以,大部分的Linux發行版都是基於Gnome、KDE改的,大多數都是在網上找一批主題(Gtk+主題、圖標主題、光標主題、窗口邊框主題、DM主題、鎖屏主題)再配上一張好看的壁紙就可以做一套自己DIY的桌面環境。很多Linux社區的用戶說,你看我自己都可以做桌面環境,甚至很多國內的Linux發行版廠商也是拿著社區的桌面環境然後換一套皮膚就去騙政府的錢,說自己是自主研發的作業系統。

既然換套主題也可以很好,那麼桌面環境和那些換主題的工作差別在哪裡? 在我看來,主要在幾個方面:

  • 核心技術能力:如果沒有掌握桌面環境的核心技術,所有的修改能力僅僅限於修改主題、logo、字符串替換的能力
  • 產品質量無法保障:特別是有很多隱蔽性的bug,如果不掌握核心技術,連問題發生的原因都不知道,更不用提怎麼解決
  • 設計細節:如果大家仔細看那些只是套用主題的桌面環境,就會發現外面看著還可以,但是很多按鈕的顏色、留白以及控制項的對齊都是有問題的,甚至是粗糙的,為什麼?這是由GTK+的主題設計導致的,GTK+強調的是一套原生控制項打天下,但是面對無窮的應用和需求,不是所有的交互都能靠一套控制項才能滿足的,在大多數Linux社區開發者不具備控制項自繪的能力前提下,大多數開發者都選擇套用不合適的控制項和控制項主題去拼裝,而GTK+主題的作者不可能在製作主題的時候測試所有軟體,而且從GTK+先天限制也做不到,最後導致不論怎麼套用主題,各種軟體拼裝在一起,就像各種質量參差不齊的補丁拼在一起一樣的,大多數開源社區開發者被虐很多年可以忍受粗糙的設計細節,但是對於普通用戶來說,這種拼裝的設計細節就像拿著當年的諾基亞和現在的iPhone7放一塊的感覺那麼強烈。
  • 統一的操作接口:比如右鍵菜單、文件打開對話框、認證對話框等等,只有從深層次統一這些底層接口,才不會看到不同風格的右鍵菜單、文件打開對話框、認證對話框,這些都對於統一的桌面作業系統體驗非常重要,想一想如果你自己買的iPhone各處都粗糙不一樣,你會不會砸了它?但是為啥這麼多開源愛好者就能忍受這些粗糙的東西?(因為自己沒有花錢,花了錢你看他不把客服電話打爆...)

一個完整的桌面系統從技術剖面看,從下到上主要分這幾層:

  • 內核驅動層:前面已經說了,主要是保障硬體的基本功能和兼容性,所有的Linux發行版都大同小異,差別就是內核補丁集不一樣,或者集成的驅動和固件多少的差異
  • 顯示服務層:從內核引導到plymouth(我們俗稱的開機動畫)後,只要你見到登錄界面輸入密碼的時候,這時候X Server已經起來了, X Server簡單來理解就是Linux系統中掌握著繪製圖形界面生殺大權的「天神」,所有程序要繪製圖形的時候都要發送消息到 X Server, X Server才會給你畫出來。同時X Server也是事件輸入(鍵盤滑鼠)輸出(顯示器)的抽象層,開發者可以不用考慮底層驅動和顯卡驅動細節,直接就可以使用X11/XCB的API進行應用開發,只不過更多的開發者是使用Gtk+/Qt這些在X11/XCB更上層的API進行應用開發
  • 顯示管理器:簡單的理解就是你看到的登錄界面提示你輸入密碼的那個地方
  • 資源管理器:這一層主要由一系列的底層守護程序來監控硬體的狀態,並匯報給上層的桌面環境和應用進一步操作,比如常見的就有網絡、電源、磁碟、藍牙、聲音、鍵盤、列印等
  • 桌面環境: 以深度桌面環境為例,主要包括桌面環境後臺服務和守護進程、桌面環境對外提供圖形開發工具庫、二進位工具、DBus API服務和桌面環境UI界面層幾個部分組成的,後面我會詳細講每一個細節
  • 應用商店:主要提供系統的軟體安裝、卸載、升級等操作,保證用戶可以安全易用的進行軟體管理,同時提供了商店的評論和評分等功能
  • 應用程式:主要包括深度開發的系列應用、合作開發的國內應用、Android應用、Windows應用和網頁應用,開發者在linux系統中內置了Android RAT,因此,可以直接運行Android應用。

為什麼開源的輪子不能用?

深度造了那麼多輪子,為什麼不用社區的?

社區技術大拿很多,但是技術強大的同時能把一個應用的UI和交互細節做好的開發者鮮有 社區大部分軟體都是面向開發者,功能確實強大,但是對於小白用戶來說太複雜了 深度希望十年之內解決linux桌面的問題,我們內部每天幾百個commit的快速迭代,社區主導開發完了花都謝了 希望做出來再吹牛,不想天天在社區打嘴炮。

十幾年開源社區為什麼做不好桌面?

主要用戶群體是開發者,大多數開發者喜歡黑客般的各種功能堆在一起,而普通用戶只需要簡單易用的產品 太過於碎片化:大家不齊心,每個人都造半成品互相打壓,沒有形成合力,最後社區除了大量的半成品,並沒有多少應用能夠比Windows軟體更好(真正能和Windows平臺堪比的應用不超過50個) 鄙視小白的氛圍不好,技術稍微好一點的人就打擊小白用戶,大量真正的桌面小白用戶走了以後,最後導致大家都不關心桌面的細節體驗 做的太少,說的太多,有行動,10年就是翻天覆地變化,而不是大家時間長了都失望了。

開源社區擅長什麼?

開源社區適合做遠程協助,碎片化的事情,比如文檔和翻譯,深度社區全世界的翻譯貢獻者就超過300多名: https://www.transifex.com/linuxdeepin/public/ , 曾經創造西班牙語一星期就翻譯完整個系統的奇蹟

開源社區適合吐槽, 我說的是客觀的吐槽,https://bbs.deepin.org/ 各種用戶幫助開發團隊發現更多測試版的bug和非常非常好的反饋建議 開源社區適合打包移植, https://www.deepin.org/dde/desktop-transplantation/ 目前深度桌面已經移植到 Arch, Manjaro, SparkyLinux, openSuse, Ubuntu, Gentoo, Fedora 等發行版

國內技術圈偏見

我在開源社區十幾年看到國內技術圈很多偏見,最主要的有幾個:

  • 拿著自己的平鋪式窗口管理器裝X,鄙視小白用戶:其實玩過的人都知道,就是一些配置,花一些耐心和毅力就能搞定,這些只能證明你比較能折騰,但折騰並不代表你的學識淵博和能力高超,更不是鄙視和嘲笑別人的資本
  • 認為只有玩內核才是技術高手: 不懂linux的人這樣認為,很多開發者也這樣認為,真正開發內核的開發者都知道,內核開發和應用開發和其他任何開發都一樣,唯一的不同就是更難調試,更複雜不是只會內核開發的開發者才是最厲害的人很多內核的開發都要和應用以及現實場景配合才有意義。更不是自己會編譯內核就開始了不起了
  • 認為做UI和桌面環境很容易: 其實很多嘲笑做UI的人,即使是一些開發者,我相信大部分人連XCB以及窗口移動,甚至窗口陰影都繪製不出來,在國內看到太多拿著無知當權威的噴子了,希望這些人長大以後學會謙虛。其實大家都是看著功成名就來評判的,蘋果應該是這個世界上折騰UI細節最多的公司,但是沒有人說蘋果只會UI,為什麼?國人就喜歡打壓還沒有成功的公司,然後跟風吹捧成功的公司和產品
  • Linux就是應該折騰: Linux早期的折騰對於開發者來說是非常有幫助的,但是人都有會老,都會累的那一天(要不是為什麼達拉斯黑客大會那麼多大牛最後用Mac, 是因為他們折騰沒有你多嗎?),一旦折騰完Linux就應該花更多時間去學習新的知識或享受生活, 而不是一直都在折騰,然後鄙視不會折騰的人。

通過上面的科普,大家還有認為國產系統僅僅是換膚那樣簡單的事情嗎?我認為大家應該尊重每一位技術開發者,但是真的對於那些完全不基於調查,只是簡簡單單基於對國內開發團隊鄙視而輕言下結論的人感到痛心,希望國人基於事實支持好的產品和團隊,停止一切不實的攻擊。


以上部分內容來源作者:ManateeLazyCat

連結:https://www.jianshu.com/p/e871723f9460

【編輯推薦】

【責任編輯:

龐桂玉

TEL:(010)68476606】

點讚 0

相關焦點

  • 從科技角度分析「內循環」,國產作業系統迎來歷史性發展機遇
    所以,如果站在發展「內循環」的新要求下,補足國產高端晶片半導體以及軟體作業系統的短板,就成為了實現「內循環」的必然要求。  換而言之,沒有國產晶片、沒有國產作業系統,科技產業的「內循環」,甚至是經濟上的「內循環」都是不牢靠的。  估計再過兩年,全球晶片製造工藝將達到物理極限。作為「摩爾定律」之後的晶片產業新起點,第三代半導體成為了我國將要扶持發展的重點領域。據說,第三代半導體將會寫入我國的「十四五」規劃當中,其重要性自然不言而喻。
  • 國產作業系統Deepin安裝
    作為國產優秀的Linux內核桌面級作業系統,8月6日,Deepin再一次發布了最新版桌面作業系統---深度作業系統20Beta。Deepin內置了Chromium瀏覽器、Deepin音樂播放器、Deepin影院等Deepin製作的常用軟體,還可以在應用商店下載微信、QQ、WPS、Foxmail等應用供用戶下載。
  • 又一國產作業系統登場:紅旗Linux
    打開APP 又一國產作業系統登場:紅旗Linux JING 發表於 2021-01-07 15:32:04 2020年,國產手機廠商在作業系統上不斷進行突破
  • 國產作業系統都是騙局?一文看懂其發展現狀
    因此,國產作業系統的國產化替代還要分行業來看,只有一個行業內的所有必須軟體都能在國產作業系統中運行或找到替代品,國產作業系統才能在這個行業中應用開來。雖然這些行業中的很多人習慣了用Windows,Windows使用者是主流,但其實國產作業系統是可以形成替代的。9Frednc製造業門類中的其他行業大致和石油、化工、冶金等行業類似,形成Windows、Linux都有,互相爭鳴的局面。而且除非換了設備後作業系統隨之變化,否則很難互相替代。
  • 國產ROS作業系統來了,你怎麼看
    一提到國產作業系統來了,相信大家激動有之,感觸有之,質疑有之,反正各有各的情緒反應。不過當看到ROS三個字母,有些了解的朋友也就沒那麼大的情緒波動了。所以稍安勿躁,國產ROS作業系統,並不是我們直觀意識中以為的那種OS作業系統。
  • 國產軟體當自強:向日葵遠程控制與深度作業系統適配完成
    最新消息,國內遠控行業領導者向日葵遠程控制軟體與國產系統深度作業系統達成合作——向日葵Linux客戶端與深度作業系統適配完成。國產軟體的驕傲,遠控行業的風向標向日葵遠程控制是國內知名的遠程控制服務商,目前已研發向日葵遠程控制軟體、開機超人、控控、向日葵開機棒、UU等多款硬體,通過軟硬結合的方式提供完美的遠程控制解決方案。
  • 國產作業系統中興新支點OS將進入更多院校
    集微網4月17日消息(文/數碼控),今天中興手機戰略發展部主管呂錢浩談到了國產作業系統中興新支點OS的情況,他稱:「中興新支點OS將進入越來越多的院校,用國產OS從學生抓起!中興新支點希望通過開發及推廣使國產基礎軟體融入到高校的日常教學中,以推動學生認識、使用、了解國產作業系統,為未來國產基礎軟體的人才培養奠定根基,從而更好地促進國產基礎軟體的發展。」從呂錢浩放出的圖片與文字可知,目前中興新支點OS已經在西安培華學院成功應用,未來中興新支點OS將進入更多的院校。
  • 億級潛在市場背後,國產作業系統連橫合縱、抱團取暖|年度行業研究
    我們選取了國產作業系統。疫情過後,反全球化的情緒出現了蔓延的趨勢,各國針對於信息安全的討論熱度高居不下,關於國產作業系統的呼聲不絕於耳。本文希望通過系統的梳理,為讀者系統的呈現目前國產作業系統的行業現狀。
  • 搭載銀河麒麟作業系統的國產「天玥」計算機在沈成功下線
    近日,遼寧省首臺搭載麒麟作業系統和國產「天玥」計算機是從國產晶片、作業系統等全部核心元器件完全自研的純國產計算機,從硬體到軟體的自主研發、生產、升級、維護全程可控。由中國航天科工集團第二研究院706所自主研發並委託國營瀋陽遼聲無線電廠生產。搭載麒麟作業系統的「天玥」計算機已實現在黑龍江(高寒)、海南(高溼)和西藏(高海拔)以及其他供電不穩定地區近萬臺的部署和應用,經受住了惡劣環境的考驗。
  • 國產手機作業系統要來了,「小程序」將成系統關鍵
    ,同時將全面退出美國市場,而目前國內並無成熟的手機作業系統可代替,安卓系統的限制或將使中興退出手機行業。中國目前已經具備了開發手機作業系統的技術和實力,美國此次制裁中興將促使中國手機作業系統的誕生,中國必須擁有自己的手機作業系統,才能避免中興所遇到的安卓授權限制事件出現,像此前GPS定位系統一樣,如今中國的北鬥衛星已經完全可以代替GPS。中國擁有BAT等多家大型的網際網路企業,為何沒有一款自己成熟的作業系統出現呢?
  • 四家國產作業系統通過中興GoldenDB資料庫兼容認證
    普華基礎軟體股份有限公司推出的伺服器作業系統產品與桌面作業系統產品支持X86、OpenPower、國產龍芯、申威、兆芯及ARM等架構,滿足電子政務、智慧城市、生產作業系統及安全可靠等多個領域應用需求,在行政機構、金融、能源、電信及衛生醫療等諸多行業得到應用和推廣。
  • 國產linux發行版本——deepin作業系統安裝方法
    大家好,歡迎回到萬魔寺,前兩期,和大家一起學習了ubuntu系統的安裝,今天我們一起來學習一下國產linux作業系統deepin的安裝方法。deepin系統是由武漢深之度科技有限公司開發,在網絡上口碑比較好的一款linux國產發行版。
  • 《我的世界》皮膚站怎麼換皮膚 皮膚站換皮膚技巧推薦
    導 讀 我的世界皮膚站怎麼換皮膚?
  • 如何安裝Deepin國產作業系統?只需一個U盤就夠了,超簡單!
    與此同時,人們對國產作業系統的熱度和期望值也是越來越高。在諸多國產作業系統中,Deepin系統是目前知名度最高的一個,而且無論在使用人數還是系統的性能上都是比較有優勢的。為了讓一些喜愛國產操作的小夥伴早日體驗Deepin,接下來小雨就教大家如何安裝Deepin國產作業系統?只需一個U盤就夠了!
  • 華為鴻蒙2.0發布後,天降祥瑞:國產作業系統這次一定要成!
    今年制裁有兩次升級,華為不僅在作業系統上被斷供,甚至連自研晶片也無法再生產。隨著9月15日最終期限的到來,三星、海力士、美光等晶片廠商紛紛宣布斷供華為。 用餘承東的話來講:「這一屆開發者大會,華為正在處於美國第三輪制裁的困難時期。」從一向樂觀開朗,人送外號「大嘴」的餘承東話裡,可以很明顯聽出他的凝重。
  • 如果「作業系統」被禁用,中國該怎麼辦?中國院士說出真相
    斷供windows系統就麻煩了一點,目前國內微軟作業系統佔比87.49%。不過,windows斷供,對普通用戶影響不大,現在版本這麼多,有多少人在用正版?部分有需求的企事業單位則轉向國產系統。目前國產作業系統已經開發了很多年,比如統信的UOS、深度的Deepin,還有中興新支點作業系統、紅旗Linux、麒麟OS等等,其中新支點已被眾多企業、政府及教育機構採用。不過,大多所謂國產都是基於linux的開源二次開發的,這能頂住一時,但要想真正做到不被外人掣肘,我們還是要自研系統。
  • 國產中興新支點作業系統 U 盤啟動安裝教程,敬請轉發收藏分享
    作為相對成熟的國產桌面作業系統中興新支點作業系統,可以安裝在桌上型電腦、一體機、筆記本電腦。非常感謝各位用戶的下載使用,希望多多支持和分享,讓國產作業系統的功能和軟體生態可以不斷升級和完善。11、系統啟動後很快就進入到了登陸界面,輸入先前創建的用戶名及密碼,就可以體驗國產作業系統了。可以在軟體中心下載安裝 WPS Office、搜狗輸入法、QQ 等應用。中興新支點桌面作業系統個人使用是免費的,請到官網下載,以免受騙。
  • 國產PC晶片再傳好消息!微軟推新版Win10系統:可打破壟斷
    ,都採用非X86的晶片架構,所以目前基於這些國產晶片的PC產品,都無法安裝Windows 系統,但我們都知道Windows作業系統幾乎壟斷了全球PC市場,很多消費者都被windows及其生態捆綁住了,從而導致國產晶片+國產系統組合無法得到消費者的青睞。
  • 《我的世界》手機版換皮膚教學 手機版怎麼換皮膚
    導 讀 我的世界端遊相信很家操作的是比較熟練的,但是換到我的世界手機版上,很多功能都不會使用,今天給大家說的是的手機版的換皮膚教學,希望能夠幫到大家。
  • 國產系統?基於Linux研發的深度Deepin系統,到底算不算真國產
    近年來,國內科技在不斷發展中,而且還誕生了許多新的作業系統,比如深度Linux的Deepin系統發展的速度是相當迅猛。但是,也引發了一些人的疑問:基於Linux研發的深度Deepin系統,算不算是真的國產作業系統?面對這個疑問,很多人都會糊裡糊塗地說「不是」!