用Gentoo之後,默默換回了Arch Linux —— 記使用滾動發行版的想法
要去哪裡找能高度自定義,軟體版本最新,又能穩固使用的桌面Linux發行版呢。這三個條件絕不可能一次滿足。
為尋找自定義Linux系統的極致,四個月前從openSUSE Tumbleweed切換到Arch Linux,然後將PC和筆電切換到Gentoo Linux。
在此期間,初步理解了Gentoo和LFS(用dual boot裝的)提供的底層系統編譯原理,知道如何從OpenRC遷移到Systemd,還有部份軟體要自己手動裝的痛苦。系統核心由於是偷吃步使用官方預先編譯的二進位檔(以Fedora為基礎)所以這方面沒煩惱過。
Gentoo玩War Thunder這種大型遊戲是沒問題的,Steam (Flatpak) + Proton都處理好了。
然而,在使用Gentoo Linux二個月嘗過優缺點後,便決定換回Arch Linux。過去的習慣是一個禮拜給Gentoo升級一次。這次因為Gentoo emerge時一次出現50個以上KDE套件slot conflict,心想我不能再花這些時間在底層debug上了,因此拿Arch Linux的USB出來重裝系統。
這個離開理由沒有以前Ubuntu那麼瞎吧,以前我是嫌Ubuntu/Devian太無聊才離開的,openSUSE/Fedora則是給人太多預裝的東西了我不喜歡,雖然沒有Windows 11廣告機器那樣誇張,專有軟體的重量級大集合,這種怪物只能被關在虛擬機裡面。
用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不只是默默做事、僅供開發人員接觸的機器,而是能當日常作業系統。而了解、改善這一切的方法就是全身投入到系統,從底層到表面去實踐。
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!
- Author
- More