當前位置: 妍妍網 > 碼農

在桌面領域,Linux 是一座尚未開發的「金礦」!

2024-06-07碼農

除了桌面領域,Linux 在其他 領域 贏了,桌面 是 Linux 最後的戰場。本文作者認為, Linux 最終 很有可能贏得這場戰役。

原文連結:https://gebna.gg/blog/desktop-linux-is-an-untapped-gold-mine

作者 | Bahaa Zidan 轉譯 | 鄭麗媛

出品 | 程式人生(ID:coder_life)

時間回到 2013 年。那年我剛買了一台全新的膝上型電腦,擁有 4GB 記憶體和 500GB 的機械硬碟。可惜這台電腦沒有預裝操作 系統,所以我迅速安裝了正版 Windows 8——這是我用過最差的作業系統,不僅使用者介面很爛,還非常不穩定。於是我開始尋找替代品,由此發現了 Linux。

用哪一個呢?

作為一個新手,你遇到的第一個障礙可能是:Linux 下有數量多得離譜的不同作業系統。Linux 社群喜歡把它們稱為「發行版」,以此來表達它們之間沒有太多區別。雖然這種說法在一定程度上是對的,但每個發行版實際上都是一個獨立的作業系統。主要的發行版有 Debian、Ubuntu、Gentoo、Fedora 和 Arch,但除此之外還有數以千計的「發行版」,它們都有著不同的名字,這就導致許多感興趣的新手在嘗試 Linux 之前就放棄了。但我沒有:我下定了決心,不想再回到 Windows 8,於是我上網尋求指導。

大多數網路論壇都建議我使用 Ubuntu,這是使用最廣泛的 Linux 發行版。它的安裝程式很友好,使用者介面也與我習慣的 Windows 不同。於是我安裝了它,結果卻遇到了一些問題。

零星的硬體支持

我的膝上型電腦配備了一塊 Nvidia 獨立顯卡,同時還有一塊整合在 CPU 中的 Intel HD 顯卡,這就意味著作業系統必須找出使用哪種芯片來完成哪項任務。在 Windows 系統中,由於 Nvidia 驅動程式使用了一種名為 Optimus 的專有技術,因此可以做到這一點——但在 Ubuntu 上,Optimus 卻不起作用,至少在我的膝上型電腦上是這樣,即使我安裝了專有的 Nvidia 驅動程式也無濟於事。

也就是說,我要麽得禁用功能更強大的 Nvidia GPU,要麽就得忍受圖形處理遲緩和卡頓的使用體驗。我選擇了前者,因為當時我並沒有需要強大圖形處理的任務,Intel 的整合顯卡對我來說已經足夠了。

理念重於功能

我遇到的另一個問題是,Ubuntu 預設不包含播放我大多數媒體檔所需的編碼器。原來,Canonical(Ubuntu 背後的公司)承諾只在其作業系統中提供「Free」軟體。這裏的「Free」不僅僅意味著免費,還意味著開源。但實際上許多媒體編碼器都是閉源的,因此被排除在外。

這一點真的讓我很煩惱。我覺得,既然 Canonical 很清楚每個人最終都會安裝這些編碼器,為什麽不直接安裝它們,省去使用者的麻煩呢?獲取開源社群的認可難道比打造一個優秀的作業系統更重要嗎?

社群

在使用 Ubuntu 不久後,我開始有點崩潰。當時,Ubuntu 的官方桌面環境是 Unity,但它也是大多數問題的根源。作為一個當時無事可做的年輕人,加上已經深入 Linux 的世界,我決定更進一步,嘗試安裝 Arch Linux。

這是一次範式轉變。如果說 Ubuntu 是對新手友好的 Linux 發行版,那麽 Arch 則是為那些真正知道自己在做什麽的人準備的——盡管當時我並不知道自己在做什麽,但我還是勇敢地嘗試了。在網上教程的幫助下,我成功地安裝了一個功能齊全的 Arch Linux 系統,甚至連 Nvidia Optimus 都能正常工作。除了我的硬碟出了點問題,但老實說,我已經記不清到底是什麽問題了,可能是關於自動卷掛載失效的問題?但至今(11 年後)我仍記得的是,當我在 Arch 論壇上尋求幫助時,他們對我有多刻薄:從叫我「RTFM」(閱讀手冊),到嘲笑我的語法錯誤。要知道,英語並不是我的母語,而且當時我的英語水平比現在差多了,整個感覺就是格格不入。

別誤會我的意思。我知道讓初學者在論壇提問前先搜尋一下是合理的,我也知道與其直接給出答案,不如連結到手冊或文件中的具體頁面是合理的,但這些「知識分子」從未考慮到初學者可能不知道「如何」搜尋。初學者不了解事物的構成,所以當出現問題時,他們不知道去哪裏找或要找什麽。

Linux 曾是我計劃用來取代 Mac OS 和 Windows 的激情計畫,但 Linux 的鐵桿粉絲卻毀了它的形象。他們中的大多數人都以復雜方式完成簡單任務為榮,也不知道為什麽人們不願意轉換到 Linux。即使是載入內核或安裝軟體這樣的基本任務,也被他們描述得過於復雜,以致於嚇跑了新使用者。更糟糕的是,他們還以為自己會寫幾行程式碼就很聰明,但事實遠非如此。他們中大多數人連基本的編程都搞不懂,還要從別處復制程式碼,實際上是最愚蠢的那群人。

——Linus Torvalds,Linux 的創造者

Linux Mint

在經歷了 Arch 社群不太友好的體驗後,我開始探索其他的 Linux 發行版,甚至還試著黑進我的膝上型電腦(但這是後話了)。一段時間後,我最終選擇了一個叫 Linux Mint 的發行版。我不知道為什麽人們不直接向新手推薦這個發行版,它能滿足所有要求。它的使用者介面很像 Windows,對於像我這樣從 Windows 轉換過來的使用者來說,非常容易上手。它基於 Ubuntu 構建,所以萬一出現問題,也總能找到解決辦法。但與其母版不同,Linux Mint 極其穩定,真的非常穩定,比我日常使用的任何 Windows 或 MacOS 版本都要穩定。

我真的很喜歡 Linux Mint,喜歡到用了它很多年。當我開始接觸編程時,它為我提供了一個完美的環境,尤其是作為一名 Web 開發人員。我可以在一個更接近數據中心的環境中開發我的網路伺服器,並將它們部署到數據中心,所有我需要的工具都有本地支持,我還能再要求它什麽呢?

應用程式

如果你只需要在電腦上使用網頁瀏覽器,那麽作業系統的選擇對你來說並不重要,任何作業系統都可以完美執行所有主流瀏覽器。如果你像我一樣是一名 Web 開發人員,那麽 Linux 對你來說再合適不過了——但大多數人的情況並非如此。

大多數人擁有一台膝上型電腦或台式電腦,是為了執行與其工作或愛好相關的一些特定應用程式。其中許多「殺手級套用」都是專為特定作業系統開發的,像 Adobe 套件、Microsoft Office 套件、Autodesk 套件等,根本無法在 Linux 上執行。

那麽,Linux 原生的替代品又是什麽呢?確實有一些在 Linux 上原生執行的優秀應用程式,比如 Lightworks、Davinci Resolve、Blender、Open Office 等,它們在全球許多行業中被廣泛使用。但作為一個專業人士,你可能不會更換你和你的團隊正在使用的應用程式。原因很簡單,相比忍受微軟或蘋果的反消費者行為,這樣做的成本更高——很不幸,但世界就是這樣運轉的。對於大部份人來說,只有當他們用的應用程式得到原生支持時,Linux 才會列入考慮範圍。但為什麽像 Adobe 這樣的開發者不支持 Linux 呢?

軟體釋出

當像 Adobe 這樣的開發者想要在 Windows 上釋出一款軟體時,他們會使用微軟提供的 SDK 和工具,以 Windows 作業系統能夠理解的方式構建軟體。同樣的情況也適用於蘋果的 Mac OS。二者都提供了相對簡單的軟體釋出路徑,至少比 Linux 要簡單得多。

作為開發者,你需要決定你的應用程式要執行在哪些 Linux 發行版上,因為每個主要發行版都有不同的包格式,像 Ubuntu、Fedora 和 Arch 就各不相同。你要麽提供原始檔,讓使用者在自己的機器上自行構建,要麽選擇 .deb 或 .rpm 等格式,然後進行分發。

為了解決包格式的碎片化問題,我們引入了兩種新格式。不過這兩種格式是通用的,所以如果你將應用程式構建為其中一種格式,那麽它應該可以在所有 Linux 發行版上執行。這兩種格式是 Snap 和 Flatpak,這些格式真的很酷。

Flatpak 應用程式是沙盒化的,這意味著使用者必須明確授予應用程式使用網路攝影機、網路等許可權。Flatpak 還能確保應用程式所需的所有依賴項都打包在一起,以此消除沖突或碰撞的風險。如果兩個應用程式需要某個依賴項的不同版本,兩個版本可以同時存在,不會出現任何問題。

雖然 Snap 和 Flatpak 在技術上存在差異,但它們的本質是相同的:為 Linux 提供一個沙盒化、隔離的軟體包格式。在我看來,通用軟體包格式是一種全面勝利,它讓 Linux 感覺更像一個統一的作業系統。不過,現在開發者在 Linux 上釋出軟體時還需要再做一次選擇,再加上 Linux 只占所有桌面使用者的不到 4%,你就能理解為什麽像 Adobe 這樣的開發商會對這件事不屑一顧了。

最後的戰場

從根本上說,Linux 是一個偉大的作業系統。微軟和蘋果都曾試圖在數據中心領域與之競爭,但都失敗了。這也導致微軟在多年嘗試摧毀 Linux 之後,最終「妥協」並與其「結盟」,現在他們甚至透過 Microsoft Azure 提供基於 Linux 的產品。蘋果則在 2022 年完全停止了 Mac OS Server 的開發。在移動領域,在移動領域,谷歌的 Android 占據了 70% 以上的市場份額——而 Android 是基於 Linux 的。在遊戲領域,Valve 的 Steam Deck 風靡全球,這是一款出色的掌上遊戲機,擁有史上最大的遊戲庫,這一切都要歸功於 Valve 與 Code Weavers 合作開發的 Proton,這個相容層使得 Linux 驅動的 Steam Deck 能夠執行大多數 Windows 原生遊戲。

除了桌面領域,Linux 在其他領域都取得了勝利。桌面是 Linux 最後的戰場,而我認為 Linux 是有可能贏得這場戰役的。事實上,在中低端膝上型電腦市場,谷歌的 Chrome OS 已經逐漸贏得了市場份額(Chrome OS 也是基於 Linux 的)。Linux 的創造者 Linus Torvalds 曾說,Chromebook 可能是 Linux 在桌面領域最終勝出的途徑。我同意他的觀點,但我並不希望 Linux 桌面的未來是像 Chrome OS 那樣被釘選、充滿間諜軟體的變種。

我們可以做得更好,而且因為 Linux 是開源的,我們有這個能力。與 Windows 或大部份 Mac OS 不同,你我都可以為讓它變得更好做出貢獻。它不是大科技公司的專屬俱樂部,我們不必一次就成功。記住,Valve 在首次嘗試制作基於 Linux 的遊戲機時慘敗,但他們花了很多時間調整方向,最終制作出了 Steam Deck 取得成功,還賺到了錢。Android 系統最初也並不成功,但後來它風靡全球,如今遊戲商店讓谷歌賺得盆滿缽滿。

桌面 Linux 是一座尚未開發的金礦!一家公司需要做的就是提供一個一致的使用者體驗,磨平粗糙的邊緣,不像谷歌、蘋果或微軟那樣奸詐,就能贏得勝利。

推薦閱讀:

「如今馬斯克的 X,失去了唯一一位公關」