Travis

Travis

这里支持的小组件太少,写不下😂,欢迎查看我的个人 blog <blog.lxythan2lxy.cn>

Arch Linux 個人小記

本文也發表在Arch Linux 個人小記 | Travis' Blog 上,歡迎來踩。

整體配置#

我的筆記本上裝了 Arch Linux,而台式機上則是 win11 和 Linux 雙系統。筆記本是 13 吋的小新 pro, 運氣比較好,一直都沒有碰上什麼兼容性的问题。
台式機用的顯卡是 Nvidia RTX 2080Ti,用官方的驅動就可以很流暢的使用,目前除了 GTK4 的問題之外沒有什麼不能解決的問題。

  • 發行版:Arch Linux
  • WM:i3wm
  • 終端:kitty
  • 應用啟動器:albert (rofi, dmenu)
  • dock: polybar
  • 窗口混成器 (composite): picom-jonaburg-git

2023-01-10-09-53-53.webp

為啥要折騰 Arch#

2023-01-10-10-33-57.webp

  1. 折騰也是一種樂趣
  2. Windows 不是 Linux,MacOS 也只是類 Unix
  3. Linux 能讓你看到一些操作系統較為底層的東西

KISS: Keep It Simple, Stupid

首先說說 “折騰” 這件事,如果我需要使用 Linux, 那麼折騰是必然的,這和我用什麼發行版並沒有太大關係,這個時候不如用一個比較純淨的系統(比如 Arch)方便下手把玩。
舉個例子 🌰,一般的開箱即用的發行版就像精裝修的樣板房,提包入住,但是我很難一下子弄清楚房間裡面的布線和一些家具的設置,萬一某個組件壞了無從下手(尤其是當我自己還要當維修工人的時候)。
Arch 就像一個毛坯房,水管電線什麼的都預留好了,我需要做的僅僅是對著宜家的家具清單(Arch Wiki)找到自己想要的家具,一件件充實自己的小窩。
這種感覺是無與倫比的,因為這個時候,它其中的各種東西是按照我的喜好來選擇配置的,我好像真正的擁有了它。
在純淨的 Arch Linux 系統上,我能在簡易的 WM 上慢慢調整自己的桌面佈局,用按鍵映射軟件或者快捷鍵管理軟件管理自己的工作流,可以看看 unixporn 看看大家是怎麼美化桌面折騰電腦的,有非常多可供自定義的選項等待著去發掘。

然後再說說 Linux 系統,我們開發的後端軟件大多數是最終需要交付到 Linux 系統上的,能在 Linux 上編碼自然的就有原生的優勢。
當然,在 Win 和 MacOS 上也有解決方案 —— 虛擬機、docker 或者 vscode remote 到伺服器上進行編碼,不一而足。
折騰過 Windows 環境的人應該都能理解,Windows 和 Unix 系的系統很多小細節都不盡相同,更重要的是 Windows 並不是全局 UTF-8,有時會出現奇奇怪怪的問題。
再者,一如 Windows 的名字,它是一個圖形操作系統,MacOS 也是,在命令行的支持上 Linux 會更好。

Linux is only free if your time has no value

以上這些都不過是蘿蔔青菜各有所愛。我需要經常處理 k8s 的東西,平時接觸的生態比較貼近 Linux,平時用不著 Linux 的同學大可不必大行折騰。

優點#

了解 Linux#

Arch Linux 有很齊全的 ArchWiki 可供查閱。

學習所有東西都是有成本的,即使是友好的 Windows 系統,第一次接觸的小朋友也需要上手慢慢使用才能逐漸弄明白操作邏輯。
在本科期間,我第一次接觸 Linux 是在 CSAPP 課程的 bomb lab 上,當時連 shell 都不知道怎麼用,需要使用 gdb 調試器在命令行中敲敲打打拆炸彈。這是對 Linux 的直觀印象。
在實踐之後需要理論學習,將之內化於心。要學習 Linux,除了看到的各種小技巧,還需要大量的實踐來熟悉操作。
接下來,在 “熟悉” 和 “理解” 之間還有很多的路需要走,這個時候就需要再去學習理論知識,如此循環往復,是一個螺旋上升的過程。

為了大量實踐 Linux, 日常使用 Linux 是一個選擇 —— 不是使用虛擬機,不是使用遠程伺服器,而是真真正正自己安裝一個系統在物理磁碟上,從配置引導開始開始一步步配置屬於自己的 Linux 系統。
在這個過程中,不出意外的會遇到了許多挫折,很多 “難者不會,會者不難” 的問題能折騰許久,
通過 RTFMSTFW 最後就能解決 90% 的問題。

包管理器#

Linux 的包管理器非常省心省力,回顧一下 windows 的各種軟件安裝流程,“進入某個軟件的官網 ➡️ 下載安裝器 ➡️ 雙擊下載”,
但是在 Linux 下用 yumaptpacman 之類的包管理器一行命令就能把軟件安裝好,更好的是這種流程方便自動化和記錄,軟件也能保證一個比較新的狀態。
相比於 ubuntu 的包管理器,Arch Linux 的包管理器 pacman 更加方便。
這種便利性來源於 AUR (Arch User Repository),這是一個社區主導的軟件倉庫,裡面包含了各種軟件的打包腳本,
只需要使用 yay 或者 paru 這種 AUR helper 就能傻瓜式的安裝各種軟件,擺脫折騰 ubuntu ppa 的麻煩。

假如我需要安裝著名的 fdripgrep 和我很喜歡的按鍵映射軟件 keyd 1 ,那麼我只需要使用如下命令就能安裝

yay -S fd ripgrep
yay -S keyd

2023-01-16-17-13-41.webp

順帶一提,Windows 現在也有 scoopchocolatywinget 這些包管理器了

平鋪窗口管理器#

不同於 MacOS 和 Windows 的浮動窗口管理器,Linux 上有一種全新的窗口管理體驗 —— 平鋪窗口管理器 2

linux.webp

一般來說,浮動窗口管理會在一個桌面裡開多個窗口,窗口之間是可以相互重疊的。
但是平鋪窗口管理則傾向於把所有的窗口都密鋪在桌面上,也就是說桌面始終是佔滿的狀態,那麼這個時候如果我開了幾十個窗口,在桌面上豈不什麼都看不到了?
這個時候,我們有工作區(workspace)這個概念(下文稱 ws),也就是其他操作系統當中的虛擬桌面,在工作區之間切換只需要使用 win+number 就可以快速切換。
一般來說,我會將瀏覽器綁定在 ws2,即時通訊 app 放在 ws3,筆記軟件放在 ws4,rss 閱讀器放在 ws6,編碼環境會放在 ws10+ 的位置,這些配置都依個人而定,可以很簡單的進行設置。

平鋪窗口管理的優點主要是它能保證我在一個工作區內能足夠專注,主要的軟件能佔用滿整塊螢幕。但是,如果某個工作需要開很多窗口,這種桌面管理未免有些麻煩,這個時候也能把各個窗口重新排列。

缺點#

軟件生態#

由於 Linux 桌面用戶太少,並且 Linux 有各大發行版,本就不多的用戶量被掰得更加細碎,各大廠商並不會第一時間考慮 Linux 用戶,國產軟件更是如此。騰訊系的 QQ、Tim、微信等一度並沒有官方支持的 Linux 版本。
在文檔編輯方面,Microsoft 的 office 已經成為一種標準,平常需要寫的各種雜七雜八的文檔都需要在 office 上編寫,這是在 Linux 上不能做的事情,wps office 和 libreOffice 並不能完全替代 MicroSoft Office。
近幾年由於開發成本,大家開始擁抱 electron 應用,真正意義上的一次編寫處處運行。也許這也是未來 Linux 軟件生態的破局之道。

至於遊戲方面,閥門廠的 Steam Deck 上的 SteamOS 3 就是 Arch 系的,閥門廠為兼容層做了相當多的優化,相信未來 Linux 的遊戲生態也會有所好轉。

但是目前來看,軟件生態上 Linux 還是有巨大的缺失,能滿足程序員的需求但是普通群眾確實沒有什麼理由接觸這個門檻很高的操作系統。

太折騰#

Arch Linux 不夠開箱即用,雖然可以自定義很多組件,不過都需要折騰。
對於小白來說,最麻煩的莫過於定位問題,沒有碰到過千奇百怪的問題就很難知道到底是什麼組件出現了問題。
我個人而言,就遇到過 GRUB 引導錯誤,X server 不能啟動等問題,身邊常備著 ventoy 的 U 磁碟,裡面裝著最新的 Arch Live 光碟映像,隨時準備修復系統。

Arch Linux 是滾動發行版,不同於 ubuntu 的點發行版,Arch Linux 更新很頻繁,網傳有所謂的 “滾掛” 的現象產生。

總結#

適合自己的才是最好的。Arch Linux 提供了構建適合自己的工作流的途徑。

如果讀者看到這裡想自己試試裝個 Linux 玩玩。
不妨從 Ubuntu desktop 開始試水,然後再試試 Manjaro,這是一個 arch 系的操作系統,開箱即用,可以輕鬆體驗到 arch 生態。
如果希望直接入手 Arch Linux,不妨從官網的 安裝指南 開始,也可以使用 Arch Linux Studio 發布的 ArchTutorial

不管是任何發行版,遇到問題時請時刻謹記 RTFM、STFW、RTFSC,大部分情況下會有前人替我們踩好了一路上的坑,自己實在解決不了了再尋求社區幫助,或者給倉庫提 issue。


Footnotes#

  1. keyd - A key remapping daemon for linux

  2. tiling windows manager

  3. https://store.steampowered.com/steamos

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。