用Gentoo之後,默默換回了Arch Linux —— 記使用滾動發行版的想法

Ivon Huang
·
·
IPFS
·
要去哪裡找能高度自定義,軟體版本最新,又能穩固使用的桌面Linux發行版呢。這三個條件絕不可能一次滿足。

為尋找自定義Linux系統的極致,四個月前從openSUSE Tumbleweed切換到Arch Linux,然後將PC和筆電切換到Gentoo Linux。

在此期間,初步理解了Gentoo和LFS(用dual boot裝的)提供的底層系統編譯原理,知道如何從OpenRC遷移到Systemd,還有部份軟體要自己手動裝的痛苦。系統核心由於是偷吃步使用官方預先編譯的二進位檔(以Fedora為基礎)所以這方面沒煩惱過。

Gentoo玩War Thunder這種大型遊戲是沒問題的,Steam (Flatpak) + Proton都處理好了。

Plasma Overdose主題

然而,在使用Gentoo Linux二個月嘗過優缺點後,便決定換回Arch Linux。過去的習慣是一個禮拜給Gentoo升級一次。這次因為Gentoo emerge時一次出現50個以上KDE套件slot conflict,心想我不能再花這些時間在底層debug上了,因此拿Arch Linux的USB出來重裝系統。

這個離開理由沒有以前Ubuntu那麼瞎吧,以前我是嫌Ubuntu/Devian太無聊才離開的,openSUSE/Fedora則是給人太多預裝的東西了我不喜歡,雖然沒有Windows 11廣告機器那樣誇張,專有軟體的重量級大集合,這種怪物只能被關在虛擬機裡面。

Windows 11新裝的系統就有這麼多廣告APP

用Tumbleweed、Arch、Gentoo是把自身推入地獄?孰或是天堂?反正用了接近上游的滾動發行版就不想再用穩定發表的發行版了。

因Distro-hopping的習性使然,重要資料都放在另個硬碟和雲端 (軟體自由協會的Nextcloud + 私人MEGA),所以準備程序沒有太久,將Windows和MacOS的虛擬機備份好之後就重灌了。

自定義的極致,穩定度的考驗

想來想去,要回應文首的構想,Arch是目前最優解,並且是純Arch,而非Arch-based的Manjaro、EndeavourOS、Garuda、Artix那種加料發行版。

Gentoo和LFS就是符合自定義的極致,軟體也很新,幾乎從0開始裝系統,還要設定編譯套件的選項。等套件編譯可以忍,但是要手動處理套件衝突就很嘔了。PC還可以慢慢處理,但如果裝在重視機動性的筆電上...筆電短暫嘗試過Gentoo,後來也是換回Arch了,還沒遇到升級衝突問題,就快被編譯拖延的時長搞死了。Gentoo或許足夠穩,不過喜歡追逐更新的朋友就會很痛苦。

系統出問題除錯時,不只鬍子,頭髮都快掉光了

或許Gentoo的USE可以把一些系統功能拒絕編譯進去,但是感覺就像在寫程式般,要考慮依賴關係,升級還要顧慮設定檔會不會被覆蓋。Arch就跟一般Linux發行版一樣,直接升級就好了。儘管過去有遇到升級時檔案衝突的問題,也沒Gentoo那樣誇張。相較於Gentoo要設USE再等編譯,Arch在使用台灣國內的鏡像的時候,一個指令很快就安裝好了。

至於Arch穩定度如何保障,無定論。Wayland可能下次更新就被Nvidia的驅動gank,GRUB還可能莫名不見(機率很小),或是Fcitx又不能在特定程式打中文了。諸如此類,不過等個幾天pacman -Syu,花十分鐘下載更新問題也許就解決了,Gentoo要先等二小時編譯再看看結果。

體驗Arch自定義系統的快感

有人跟我批評過Linux是拼裝車。是,它就是拼裝車,而像Systemd這種試圖大一統的還會被人靠北說管太寬,桌面環境也是萬年戰來戰去的議題。管他的,目前我除了使用自由開源的軟體進行工作這點不能退讓以外,前沿新技術都應該試試看。

這其中當然就關乎要怎樣安裝你的系統了,主要還是跟大眾潮流走,並適時做小調整。

Gentoo是用USE來界定軟體功能,Arch則是將套件拆細,下載時能選擇要哪些套件組合,避免癰腫。例如QEMU有最小版本,也有全部都裝的版本。Fcitx5輸入法也可以選擇只裝新酷音,而不會裝到拼音輸入。

這次重裝桌面環境的時候,我還是選擇KDE,Gentoo是用USE來裁剪要編譯的KDE功能,而Arch提供`plasma_meta`和`plasma-desktop`二個大套件。有點經驗後,我是不喜歡裝`plasma_meta`全家桶的,應用程式太雜,因此選擇`plasma-desktop`。後果就是要自己補洞。

例如:KDE怎會連WEBP和AVIF都不支援?

因為我裝的是plasma_desktop的最小套件,圖像支援(qt5-imageformats, kimageformats)的套件要自己抓。常用的還有藍芽(bluedevil)、網路管理員(plasma-nm)、Pipewire音效面板(plasma-pa)、電源管理(power-profiles-daemon)等等,按照自己的需求組合出KDE桌面,不用事後再清理全家桶。

如果是第一次裝Arch的人,還是乖乖吃全家桶,人們很難第一次就知道自己要什麼,以前我連Ubuntu用的是GNOME都不曉得。

順帶一提,為了新鮮感,也為了方便觸控板+體驗Wayland,筆電的Arch桌面環境是裝GNOME全家桶,雖然GNOME的界面自定義程度非常差。

繼續全面Flatpak化

Flatpak是為了無視任何Linux發行版差異所承襲下來的安裝手段,其次是AppImage + AppImage Launcher。Gentoo深刻體會到這點,對某些不常見的軟體來說,Gentoo有時連Overlay都沒有,要依賴AppImage和靜態連結執行檔,最慘情況下要開docker和虛擬機來跑。

除了檔案管理員(Dolphin)、文字編輯器(Kate)、圖片檢視器(Gwenview)、媒體播放器(VLC)等需要快速回應的系統程式,剩下的桌面軟體盡量採用Flatpak,包含Firefox、VS Code OSS、Android Studio、Steam、LibreOffice、Kdenlive、GIMP。

Flatpak的權限設計能提高安全和隱私性,有點像Android APP那樣,唯一的缺點是很肥。

另外,使用Snap常被Linux社群視為政治不正確,不過我覺得沒有什麼不好,只是有動力裝的軟體只有靜態網站生成器Hugo,用於補足Flatpak只有桌面程式的不足。

最後想讓軟體更新自動些。GNOME下的Flatapk會自動排程更新,所以也裝了Discover當KDE的更新前端,抑止想每天打pacman -Syu的想法。KDE在設定好更新規則後,讓Arch定時像Google Play的APP那樣默默更新。

美化一下Arch Linux

實用和美觀是首要目標,不為炫砲和個性化而強行作為。

Arch Linux跟Gentoo Linux一樣,開機會輸出GRUB和Systemd的訊息,參考Arch wiki將核心訊息關閉,然後再裝個有Arch logo的簡約Plymouth做開機動畫。

讀了一些觀點後,我認為像r/unixporn看板的人那樣細部下去美化桌面只會使強迫症更嚴重,例如曾把KDE組件全拔掉只用Latte Dock,結果用的很不順手。

不論KDE還是GNOME桌面,桌面擺設能有生產力比較重要。所以對桌面的美化就是以下原則:

「實用」不放擺拍一次後就不會想看到的桌布

「低調」不搞RGB燈效的花花綠綠線條

「只用桌面本身有的組件」不依賴第三方套件

「桌面不放任何圖示」GNOME傳染到KDE的習慣

所以,KDE只有把狀態欄調位置,使用內建的秋天桌布。Breeze的視窗裝飾太輕浮,調整為Oxygen的擬物風格。

GNOME沒什麼好說的,沿用Adwaita主題,桌面佈局就順著GNOME的操作邏輯,沒有把Dash做成固定Dock。不過GNOME的APP分類太難用,所以會在GNOME Tweaks裡面開啟左上角的APP分類啟動器,桌布使用OpenSUSE的可愛蜥蜴(NTR?更像是繼承Tumbleweed精神)。

在那之後

看看這次可以撐多久,又會開始distro-hopping。

雖然Freebsd不是Linux,但一直是考慮當作長久桌面系統的選項。之前玩過,發現它真的還是當伺服器就好,我只跟他們官網買了一件30美元的T恤+貼紙當作支持。

Linux還是比較大人氣,方便跟人分享某某軟體如何設定的教學,證明Linux不只是默默做事、僅供開發人員接觸的機器,而是能當日常作業系統。而了解、改善這一切的方法就是全身投入到系統,從底層到表面去實踐。

CC BY-NC-ND 2.0

Like my work? Don't forget to support and clap, let me know that you are with me on the road of creation. Keep this enthusiasm together!

Ivon Huang自由軟體、航空、20世紀歷史愛好者。 這裡記載的東西究竟會成為未來的碎片,在那最果之處,反射出匯集各處思念的光芒。 My Blog: https://ivonblog.com
  • Author
  • More

將suckless.org極簡網頁設計哲學付諸實現

Linux電腦好用的必裝軟體,從文書處理到玩遊戲一次滿足

半回憶錄形式的2022年Matters回顧問卷