快轉到主要內容

使用Linux四年後的心得,我覺得Wayland已經能用了...吧

· 民國114年乙巳年
·
切換繁體/簡體
分類   人文藝術 自由軟體議題
標籤   Linux
目錄

再也沒有distro-hopping ~ yeah ~ Ubuntu撐超過一年沒有重灌了。我想是因為啟用LVM,把二個硬碟拼在一起,沒有空間焦慮了。

然後我對Arch Linux與Fedora的態度是:麻了。這種系統真的不能在主力系統使用。光是安裝在另一台較少使用的筆電,每週更新一次都能有東西壞掉,我也是醉了。除非你無欲無求,都用預設GNOME或XFCE桌面就能滿足的用戶,否則不要指望用滾動發行版能用的長久又安心。

1. 我需要KDE,但是又需要穩定度
#

無解的答案。

用過KDE真的回不去了呢,KDE生態系的程式進行複雜的工作真的很好用。儘管很多次想用GNOME,但它的設計…抱歉了我不是藝術家,真的不適合在桌上型電腦使用,在較少開啟的筆電上偶爾使用就好。

然後我希望KDE是能一直帶來「驚喜」的系統呢,怎麼說呢,就像Pixel手機用戶不定時就能收到Pixel Drop的驚喜包一樣的感覺吧,每次更新永遠給使用者全新的體驗,不是像GNOME只是稍微移動元素的位置而已。譬如最近KDE 6.4的更新,截圖程式Spectacle竟然加入了自動辨識圖中QR Code的便利功能,還有Dolphin右鍵加入了資料夾標記顏色的功能!所以我會有下面這種操作也就不難理解。

現在使用的系統是Ubuntu與KDE Neon的混合體(好孩子不要學)嗯,我當初是用Ubuntu 22.04 ISO裝的,方便啟用LVM。安全的度過了大版本升級到24.04。然後想要KDE桌面,就手動安裝kubuntu-desktop,刪除GNOME桌面。之後又覺得更新太慢,Kubuntu 24.04還在Plasma 5.27…懶得用KDE Neon的ISO重裝系統。所以,手動在APT加了KDE Neon套件庫,以便取得最新的Plasma 6。

參考:加入套件庫,將Kubuntu轉換為KDE Neon,安裝最新版Plasma桌面套件

因此變成了桌面環境是滾動更新,其餘套件是穩定更新的系統。

實際上這樣用起來還怪穩定的。基本的系統組件,例如KVM虛擬機、Docker、Podman保持穩定版本,又能嚐鮮最新KDE桌面。

本來我應該也能在Debian實現這種操作的,有一位叫做Norbert Preining的開發者,專門提供最新版KDE套件給Debian Stable使用,不過幾年前他就說不幹了(詳見Future of “my” packages in Debian | There and back again),所以我就只能用Ubuntu。事實上Snap的威脅還沒有那麼嚴重,許多程式都有deb檔能找,他們沒有被Ubuntu同化的那麼快。

未來KDE開發組即將推出代號Project Banana的KDE Linux發行版,解決Ubuntu LTS套件太老KDE開發者還得針對舊版套件打patch才能編譯過的窘境。那麼到時候KDE Neon會不會被放棄呢?據說會是immutable distro,我還沒那麼進步到能接受這種設計啊啊啊。拭目以待。

好啦,事實上這是很不穩定的配置,KDE Neon的套件更新太頻繁,確實比Kubuntu LTS容易出bug,再加上Wayland這個因素更不穩定。譬如移動檔案後點圖示確認就工作列崩潰(現在它會自動重啟,而非退回SDDM介面),或者Fcitx5打字就崩潰。最糟的情況是KWin崩潰順便帶走所有視窗。且KDE 6的細節設計每幾個月就會改一次,需要重新適應。

這樣使用上非常吃運氣,可能有特定幾個版本的KDE很穩定,但下次更新又開始瘋狂崩潰。所以我未來可能會考慮換回穩定一點的桌面環境,或者繼續用KDE X11工作階段 —— 它即使是在滾動更新的模式下也不易壞掉。

2. 關於Wayland的穩定度
#

GNOME很早就在強迫人用Wayland了,現在KDE總算也跟上了。我指的是用穩定度說服人,而非廢棄X11逼人用。

GNOME開發者正準備在GNOME 50完全拋棄X11工作階段,現在的GNOME 48已經不用依賴X.Org套件就能編譯了。再加上自GNOME 42以來大部分時候都處於穩定的Wayland工作階段,那麼他們確實有資格這樣做。這是根據我個人在副電腦上用Fedora幾年下來得出的心得。雖然有些X11舊時代的東西,Wayland還沒有相應的協定可用(如色彩管理協定是最近才merge的,QT6 Wayland在GNOME Wayland的主題渲染怪怪的),但GNOME Wayland已經穩定到讓人察覺不到有比X11差勁了。

而且越來越多東西都往Wayland靠攏,例如觸控手勢和自動螢幕旋轉(平板用戶比較有感吧),動畫也比較流暢。如果切換回X11,反而會得到一個落後的體驗。開發者若還要分神維護舊版功能就得不償失了,那不如就把它消滅掉。

插播一則好消息:根據上游Bug Tracker回報,Chromium 141版本終於預設使用Wayland啟動了。這樣一狗票Electron程式的效能也會在未來幾年內獲得改善。

至於KDE還沒有明確廢棄X11工作階段的時程表,有人推估是KDE Plasma 7才會刪除,那可又要再等個五年了。這還只是講滾動發行版的排程,固定發表的發行版要等更久。

KDE Plasma 6之後現在大部分時候我都是用Wayland了,徹底迴避畫面撕裂問題。許多過去碰過的bug逐漸修復,例如字型模糊、GTK主題錯亂。現在能夠用Wayland超過一個月都沒切換回X11了,Bug數目已經減少到能忍受的程度。

當然,我說的Wayland穩定,指的是KDE 6 Wayland,舊版KDE 5 Wayland不要用。且因為KDE Neon套件滾動更新的緣故,如果某個版本更新Wayland出問題,我就會切回相對穩定的X11工作階段。

不過我為了避免詭異圖形bug,加上有時候需要全力壓榨Nvidia GPU跑AI。目前還是用Intel負責主畫面輸出 + Nvidia副螢幕的詭異方式操作電腦。利用Nvidia PRIME來跑需要GPU運算的程式。

3. 理解並認識到FreeDesktop標準的重要性
#

最近一年,我將許多文章標注為FreeDesktop Specifications,是想讓大家知道標準的重要性。故撰寫一些Linux使用技巧的文章的時候,不只是講解怎麼做,而是為什麼要這樣做。

相較於Linux基金會的FHS (檔案系統階層標準) 規定了Linux根目錄下各自的路徑用途,freedesktop.org的標準關注的部分更多是在圖形介面的操作。

Linux程式的設定檔路徑放置、主題路徑、自啟動程式路徑、桌面捷徑、預設程式的設定都是有理由的,不是無來由的放置於此,各個桌面環境依照FreeDesktop制定的一系列XDG標準來設計,以確保應用程式有標準可遵循,這樣的話才不會每個人都自己做自己的,而忽略了與其他人合作的可能性。

有標準可遵循這在Wayland時代更為重要,XDG Portal的存在使得Flatpak應用程式可以有統一途徑調用功能,例如申請存取螢幕、截圖、讀取檔案、存取USB裝置等等。

圖片來源:XDG Desktop Portal documentation

雖然我知道Linux碎片化問題很嚴重,有標準也沒有強迫所有人遵循的方式。但開發者如果要顧慮到更多發行版的客群,他們自己就會做出相應調整了。畢竟不是人人是suckless.org工程師的思維,總會順應潮流的。

4. 對容器化有進步,也有反省
#

進步的部分,我慢慢的從Docker遷移到Podman了,受到Pods的概念影響,開始考慮學K8s的更進階容器管理觀念,雖然我的需求實際上沒那麼大——我只是想跑Immich相簿這類self-hosted的hobby project而已。只是覺得老大哥RedHat比較願意投資資源在Podman的宣傳上,所以我覺得也要跟上腳步了吧。只是很困難,還沒找到Portainer這麼好用的替代品。

喔,Canonical的Snap還是很爛,BJ4。我可能有空會去裝Ubuntu Core來玩玩。這個系統號稱全由Snap組成,連Linux核心都是一個Snap,比其他immutable distro能夠分割成更小的模塊。但它們似乎對桌面市場沒興趣就是了。這樣的話,Vanilla OS、openSUSE MicroOS、Fedora Atom可能是比較受歡迎的嘗試對象。

反思進步的部分,過去我有一段時間堅持所有程式都要Flatpak容器化,連unofficial port的也推薦大家用,再不然就用Distrobox的Podman方案跑程式,試圖消滅原生套件管理器。明明不是用immutable distro卻全然效仿他們的做法,追求這種極度前衛的做法。

不過現在已經不再這樣堅持了。雖然Flatpak與桌面整合的技術一直走在改善,不過還是要看程式開發者願不願願意從頭支援。

我想,除非開發者是像Wine Bottles這類熱衷推廣Flatpak的人士,否則就不要強求Flatpak能取代原生套件。

Flatpak的問題在哪呢?譬如Steam現在仍是半殘,新增捷徑到桌面仍要使用一些quirks,所以我就不鼓勵使用者裝Flatpak版本的Steam了。

再如Android Studio,雖然程式到處在家目錄倒垃圾的行為很煩,不過用Flatpak只會給開發徒增困擾。Visual Studio Code亦同,進行開發工作的時候難以存取系統的lib怎麼想都是在自作孽吧。

這些過於堅持進步理念帶來的shenanigans,我認為還是要考慮人民群眾的實際需求再選取適合的安裝方法要好,故deb檔和install script仍有其用處。

簡單來說,要不要用Flatpak,還是看情況決定。

但這仍不能解決一個問題呀?Ubuntu套件版本太舊怎麼辦?涼拌炒雞蛋。真的有新版本軟體非要不可,就從原始碼編譯安裝吧,謹慎的觀察安裝檔路徑,並記錄下來。我自己是把非套件管理器的程式都丟到一個~/Applicatios的目錄下統一追蹤。就能方便日後管理。

反正你學習Linux到一個階段,經歷過無數次rm -rf、不小心刪到重要系統元件、弄爆套件依賴,導致重裝系統,你就會學會怎麼照護自己的系統了。

相關文章

推薦一些專門講Linux與FOSS議題的科技Youtuber
分類   人文藝術 自由軟體議題
標籤   Youtube Linux
從專有軟體學習,再將技巧應用在自由軟體,就像從Microsoft Office轉換到LibreOffice
分類   人文藝術 自由軟體議題
標籤   Linux LibreOffice
自由軟體運動算不算是一種共產主義?
分類   人文藝術 自由軟體議題
標籤   Free Software Linux Communism Anarchism

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。