ArchLinux安裝的軟件與工具的記錄

出自Wired
跳至導覽跳至搜尋

硬件:thinkbook 16+ gen7 銳龍7 H 260

系統:archlinux 2025.12.1

燒錄軟件:balenaEtcher(跨平台)

操作時間:2025-12-20(所有操作均基於以上版本及該時間點,注意時效性及不同平台的硬件命名差異)

安裝ArchLinux系統

通過U盤啟動:

  1. 理論上開機時瘋狂esc就行了,但我想看看現在win11長什麼樣就先激活了windows,果然不咋樣;
  2. 激活windows後通過:設置-系統-恢復-高級啟動 --> 疑難解答-UEFI固件設置-重啟;
  3. UEFI:安全設置-安全啟動設置-安全啟動選擇關閉(我也不知道有什麼用,刻板印象,先關為敬);
  4. UEFI:啟動設置-啟動順序-u盤移至首位,f10。

進入live系統(u盤環境)後執行:

  • 先連接網絡(注意這是live系統的設置,live本身就是一個特殊小系統,現在還沒安裝arch呢):
    1. iwctl:進入無線網絡管理環境
    2. device list:列出網卡信息(我這裏是wlan0)
    3. station wlan0 scan:通過該網卡掃描可用網絡(無返回值)
    4. station wlan0 get-networks:列出掃描到的網絡列表
    5. station wlan0 connect scio:連接目標wifi(我這裏是scio,若有特殊字符、空格等請用雙引號包裹字符串以免報錯)
    6. 按照提升輸入密碼、確認密碼;
    7. exit :退出iwctl環境;
    8. ping baidu.com :隨便ping測試網絡是否正常。
  • 【可選】配置ssh服務(我的目的是在pc中操作筆記本,方便複製粘貼命令,若你直接在arch里操作則跳過此步,無影響)
    1. passwd:設置root密碼(同樣是live環境的),否則無法通過ssh訪問;
    2. ip addr:列出本地ip信息,查看192.168.50.*這樣的局域網IP,或者去路由器後台查;
    3. systemctl start sshd:啟用sshd服務,允許外部通過ssh訪問主機;
    4. 【PC端操作】:ssh root@192.168.50.29 ip用你自己查到的局域網ip,輸入密碼、yes確認保存密鑰;
  • 通過archinstall安裝系統(之前VirtualBox安裝Archlinux通過命令行操作,這裏選擇便捷工具,理由下面說):
    1. archinstall:進入安裝交互頁面;
    2. 基礎操作(了解即可,到相關菜單後自然知曉何意味):
      • 方向键上下:控制焦點上下移動;
      • 空格:切換激活狀態;
      • tap:切換激活狀態;
      • esc:不保存退出;
      • 回车:激活並退出(焦點在列表選擇時,擁有的是激活功效而非切換激活狀態);
      • /:進入搜索模式,輸入的內容就是搜索關鍵字;
        • 該狀態下空格就只是作為搜索內容的一部分,請用tap切換激活狀態。
      • 任何子菜單有列表的,都可以用搜索進行過濾以便於快速選擇,也可以自己慢慢按方向鍵,不會單獨提示用法,只是注意在後面選擇預安裝軟件包時,返回菜單需要焦點在已激活或要激活的項目上按回車,不然會把不想預裝的給激活,esc是直接返回,不會保存你的操作。
    3. Archinstall languageSimplified Chinese (90%)
    4. 【保持默認】区域设置:鍵盤佈局和語言環境,默認en_us就行,語言環境也沒比utf-8更好的了;
    5. 镜像源与仓库选择地区-->China,會自動加載中國的鏡像源;
    6. 磁盘配置
      1. 剛開始只有:分区-->使用最佳的默认分区布局-->选中目标硬盘-->btrfs[1]-->(是否以默認結構使用BTRFS子卷)[2]-->(您想使用壓縮還是禁用寫時複製)使用[3]
        • [1]:目的是寫時複製和易於使用的快照功能;
        • [2]:會自己配置快照功能,省去自己可能半小時到一個多小時的折騰;
        • [3]:啊不然為啥不乾脆用ext4。
        • tips:這裏是直接兩個分區,一個引導分區,一個主分區,/home等通過@配置掛載點,最直觀的作用就是快照只負責根目錄掛載點,排除用戶、日誌等目錄,好使回滾只回滾系統本體;交換分區不在這裏,在後面。
      2. 之後會多出幾個選擇,進入Btrfs snapshotsSnapper
        1. 另一個Timeshift就是linuxmint桌面環境Cinnamon內置的,沒有snapper更適合btrfs。
    7. 【保持默認】交换分区:info區提示 zram上的swap:已启用 即可;
    8. 【保持默認】引导加载程序:默認的Systemd-boot即可;
      1. 絕大多數linux發行版默認使用的引導程序,就是一個黑色背景頁面,一個列表的那個,但它有個缺點,對brefs快照支持不理想,grub可以直接在啟動頁選擇快照並進入系統,systemd-boot就只能進tty通過命令選擇要啟動的快照。
      2. 不過滾動系統雖然有滾掛的風險,但沒那麼大,至少grub相較於systemd-boot臃腫很多,我又不在乎引導頁是否美觀,我又不安裝雙系統,grub也有自己出毛病的前例(你搜引導程序出錯,基本都是grub出的問題,systemd-boot本身非常精簡,想出問題都難),所以老老實實用systemd-boot就好了。
    9. 主机名:電腦的名字,我都是設為了anon,無所謂;
    10. Authentication
      1. Root 密碼:這裏設置的才是archlinux的密碼,開頭設置的是u盤的live環境的密碼;
      2. 用戶賬戶:按照提示輸入用戶名及密碼、是否設為超級用戶(有sudo權限)即可(個人用應該都會選是,我想不到為什麼選否),以及密碼儘量簡單一點,不然以後輸密碼的時候會被煩死的;
      3. 除非你有特殊需要,确认并退出即可。
    11. 配置文件
      1. 一開始只有:类型-->desktop-->選擇桌面環境,我選了KDE PlasmaNiri,確認都會出現其他選項;
        1. 都用archlinux了,若不是單純衝着aur來的,kde/plasma或窗口管理器才是最好的選擇,gnome什麼老東西,想用cinnamon直接用linuxmint就行,不同發行版間,對於我這種新手而言,最大的差異就是與桌面環境的兼容程度,其次是官方包管理器的名字(注意是名字而不是包數量);
        2. 對於niri或部分桌面環境可能會需要額外安裝一些拓展,會有提示,如果給的選擇,自己搜一下它們的差異或者按照默認的即可。
      2. 顯卡驅動程序:默認是全部,但我是amd yes,顯卡也是amd集顯,就選擇了「AMD / ATI (open-source)」
        1. intel+集顯的也可以直接選Intel那一項,其他選全部或問問ai吧。
      3. 登陸管理器:默認的sddm(kde使用的)即可。
    12. Applications
      1. 有藍牙和音頻兩個選項,藍牙通過附加軟件包安裝相關工具即可,這裏忽略;
      2. 音频-->pipewirePipeWire有統一linux下音頻框架的傾向。
    13. 【保持默認】内核
    14. 网络配置使用 NetworkManager(在Gnome和Kde....配置互联网所必须)
    15. 附加软件包:就是提前裝好(通過官方源)一些包,我選了:
      • amd-ucode  CPU補丁
      • base-devel 基礎依賴工具包(理論預裝,以防萬一,反正已有會跳過)
      • bluezbluez-utils 識別並管理藍牙
      • nano 我不管,nano就是最好用的編輯器,至少最符合圖形化編輯器使用直覺,0了解成本,而且我壓根不用命令和編輯文件,所以nano無疑是最好的選擇
      • noto-fonts-cjknoto-fonts-emoji 中日韓語言包及表情字符支持(還有:ttf-jetbrains-mono-nerd
      • openssh ssh 服務支持,通過ssh連接或被連接
      • git:要用aur需要用git克隆倉庫(或者自己編譯去)
    16. 时区Asia/Shanghai
    17. 【保持默認】自动时间同步:自動更新時間的伺服器
    18. 【忽略】保存配置:作用是將配置保存配置為文件
    19. 安装:配置好後選擇此項即可自動配置+安裝。
      • 安裝時會顯示生成的配置文件,可以按PageUp / PageDown滾動。
    20. 【忽略】中止
  • 等個三四分鐘安裝完成後會提示「接下來想做什麼」,選擇:chroot into installation for post-installation configuration
  • 在chroot環境執行(從u盤的live環境目錄切換到新系統的目錄使操作作用在新系統上):
    • 開機自啟動:
      • systemctl enable bluetooth
      • systemctl enable sshd
      • 這兩個理論是被自動啟用了,但複製粘貼又不累:
      • systemctl enable sddm
      • systemctl enable NetworkManager
    • 退出chroot環境:exit
  • 重啟系統:reboot

在系統啟動前拔出u盤。


雜談:

Q:為什麼不用純命令行操作

  • 我不知道有啥「意義」,我的意思是,如果是為了學習,那麼應該獨立於指南之外操作,閱讀文檔、在有一定linux系統基礎的情況下,了解一個系統需要哪些東西,並根據自己的理解去組裝組件,我自問沒這個水平。
  • 在此基礎上,使用命令行也只是複製粘貼命令,甚至如果你沒有通過ssh從外部控制系統,那你還得對着命令一個一個敲,tap補全的作用在這種情況還是微乎其微的,學習?時隔一周後我還記得怎麼操作就算我記憶力超群,我不認為它會起到什麼學習用途。
  • 所以archinstall多好?現在的它比兩年前好用多了,之前我用着還不如命令行,現在則可以直接脫離指南,不懂得點上網一搜或問問ai就能安裝完成,而且這些點基本上都是一些具體的工具,而不會說「不知道該做什麼」。

Q:為什麼選擇archlinux

  • 不想用debian/ubuntu系,想試試滾動系統,我本來想用opensuse風滾草的(原生快照、YaST),最終因為種種原因,還是選擇了archlinux,雖然我筆記本是計劃帶到無網絡環境使用的。
  • 我之前就持有這樣的觀點一直到現在,可能回到我真正了解linux系統前都會如此:不同linux發行版對於我這種新手而言最大的差異在於桌面環境,是的,在於與發行版弱關聯的桌面環境,也只有opensuse+kde、linuxmint+cinnamon這種少數的固定搭配能有最好的桌面兼容性體驗,根據桌面環境選擇與之兼容好的發行版也是不錯的策略;其次是包管理器的名字,注意是名字而不是包數量,尤其是在flatpak蒸蒸日上的現在,也就是opensuse的obs和archlinux的aur具有一定競爭力(這裏不考慮強行用其他發行版的包管理器的情況)但也有些爭議,主要是其包數量是被社區頂起來的,而這些包是否可信是一個大問題,其實也就是一些需求大但沒linux版的場景比較多,比如wps,之前的微信;最後是上網查資料提供的教程基本都會涉及apt,提供打包好的軟件基本都有deb這種體量分。

安裝軟件

安裝策略,鑑於我的使用環境:

  • 系統底層支持或底層工具及依賴:官網源
  • 更新頻繁的軟件:flatpak
  • 圖方便:flatpak(啊不然我1TB硬盤用來幹嘛,反正有去重機制,非偏底層的不用flatpak是想幹啥,徒增依賴衝突風險嗎?)
  • 備選:aur
  • 所以我說對於我這種新手而言,首看桌面環境兼容性,次選官方包管理工具順手性,最後看文檔及問答數量,其他的都是浮雲。

系統配置

關掉「鼠標移動到左上角進入桌面概覽功能」:

  1. 系統設置 (System Settings)搜:邊緣 (Screen Edges);
  2. 點擊顯示器屏幕的示意圖左上角那個小方塊,「無操作」 (No Action)。

省電操作:見#ltp

軟件商店及管理器

aur
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

若編譯錯誤,可能是go網絡問題,設置鏡像源:

  • 臨時:export GOPROXY=https://goproxy.cn,direct
  • 永久:go env -w GOPROXY=https://goproxy.cn,direct

tips:

  • aur商店有*-bin版本時若非更新滯後等原因都可以用,不用自己下載各種庫+編譯。
  • 牢記開源不等於安全,除了熱門軟件,在你真正審查代碼以及每次更新的內容前儘量不要依賴aur
flatpak

sudo pacman -S flatpak

設置中國鏡像源:flatpak remote-modify flathub --url=https://mirrors.ustc.edu.cn/flathub

  • 注意flatpak官方文檔沒提鏡像源的事,但那幾個鏡像源大戶都有它的鏡像
pipx

sudo pacman -S python-pipx

pipx ensurepath 將 ~/.local/bin 文件夾添加到環境變量

pipx怎麼不算軟件商店,npm也是

gear lever

flatpak install flathub it.mijorus.gearlever -y

整理和管理 AppImage 文件,統一移動到某存放appimage的文件夾內、生成desktop文件。

系統

usbutils

sudo pacman -S usbutils --noconfirm

usb管理工具包,主要就是用lsub

ltp

https://linrunner.de/tlp/installation/arch.html

sudo pacman -S tlp tlp-pd tlp-rdw smartmontools ethtool --noconfirm
sudo systemctl enable tlp.service
sudo systemctl enable --now tlp-pd.service
sudo systemctl enable NetworkManager-dispatcher.service
sudo systemctl mask systemd-rfkill.service systemd-rfkill.socket

修改配置文件的優化sudo nano /etc/tlp.conf,取消註釋並修改如下(sudo tlp start激活配置):

  • 用電池時限制cpu性能以節省電源:
    • CPU_BOOST_ON_BAT=0
    • CPU_ENERGY_PERF_POLICY_ON_BAT=power
  • 設置多少百分比後開啟充電和結束充電,之外的情況都只用充電寶供電而不邊供電邊充電:
    • START_CHARGE_THRESH_BAT0=40
    • STOP_CHARGE_THRESH_BAT0=70
    • 這個聯想筆記本似乎不支持這麼設置,而是只有開啟和關閉兩個選項,總體閾值似乎是在60%,但反正開啟後有同樣的效果,就是不能控制閾值(上面畫刪除線的可以註釋掉了):
      • STOP_CHARGE_THRESH_BAT0=1
      • new:實戰表示在80%停止供電,降到79再連接電源不會開啟充電模式,看來沒傻到一個閾值,至於下限多少還沒測也不像專門去測。
      • tips:這影響的是全局,也就是你的電池將永遠沖不滿,看自己的使用需求,充電寶供電邊給電池充電邊給電腦供電,耗損疑似有些太高,單純設為節能模式怕扛不住,但我也沒測試;到了有常連電源的環境時再改配置就行,可以自己問ai設置一些命令別名快速切換配置。
      • 可以寫個腳本輪詢,電量低於80%或你設定的數值時關閉這個模式,讓電腦變充邊用,到了閾值就開啟這個配置,檢測到電量大於60就會關閉充電,直接使用外部電源。
  • 自動使用省電模式(AC/使用外部電源時,因為充電寶也是外部電源、BAT/使用內置電池時 用省電模式):
    • PLATFORM_PROFILE_ON_AC=low-power
    • PLATFORM_PROFILE_ON_BAT=low-power
    • 沒有用,不管設為low_power還是balanced還是performance還是默認的被註釋掉都在使用平衡模式,所以我懷疑之前在kde通過滑塊設置為省電模式但是開機後就成為了平衡模式,原因就在這裏吧,但kde的滑塊調節模式似乎是通過tlp-pd集成的,kde本身也沒提供開機自動設為某某模式的功能,我又看不懂原始碼,一根筋變兩頭堵了,只好開機後手動調回來了(一開始還以為是tlp-pd跟tlp衝突,卸載tlp-pd都測試效果一樣,不是人家的鍋)。

其他省電優化

  • 禁用聽筒/話筒,我看它一跳一跳的,感情偷摸耗我電呢,不論私隱還是省電,都值得關掉:點擊喇叭表示,點話筒圖標禁用即可;
  • 3.5mm有線耳機替代藍牙耳機;
  • 2.4g usb無線鼠標替代藍牙模式;
fcitx5

sudo pacman -S fcitx5-im fcitx5-rime fcitx5-chinese-addons fcitx5-configtool --noconfirm

  • 輸fcitx5本體、rime引擎、一個中文輸入法、配置修改GUI工具
  • 回頭我試試霧凇輸入法。

瀏覽器

firefox

flatpak install flathub org.mozilla.firefox -y

注意flatpak版配置文件目錄在:~/.var/app/org.mozilla.firefox/.mozilla/firefox/配置文件/

以及userChrome.css文件的用法不懂可問ai,我用來清理右鍵菜單,對於一般網頁只保留了谷歌翻譯和沉浸式翻譯的選項,有些拓展可以手動關閉菜單集成,有些只能在userChrome.css文件內通過關鍵詞或ID排除。

Tor Browser Launcher

flatpak install flathub org.torproject.torbrowser-launcher -y

通訊

telegram

flatpak install flathub org.telegram.desktop -y

Thunderbird

flatpak install flathub org.mozilla.Thunderbird

2025年了,還是沒加最小化到托盤的功能,birdtray還是不能用,wayland二等公民,betterbird倒是有這個選項,托盤也有,但是任務欄也有而且托盤無法拉起窗口,只會在任務欄高亮提示。。。

文件同步

rclone

sudo pacman -S rclone --noconfirm

localsend

flatpak install flathub org.localsend.localsend_app -y

生產力

生產環境

node

fnm+npm+pnpm方案,我正嘗試讓自己使用這一套方案,並在這個過程中考慮所謂設計和順手哪個更適合我

安裝fnm本體:yay -S fnm-bin --noconfirm

編輯~/.bashrc文件:

  • echo '' >> ~/.bashrc 加個空行,強迫症,不然貼着上一行
  • echo 'eval "$(fnm env --use-on-cd --shell bash)"' >> ~/.bashrc
  • source ~/.bashrc 重載配置,或者手動重啟終端

安裝node穩定版(lts):

  • fnm install --lts
  • fnm use lts-latest

啟用pnpm:

  • corepack enable
  • corepack prepare pnpm@latest --activate

日常使用:

  • 初始化:pnpm init
  • 安裝包:pnpm add [-D] x
  • 安裝所有依賴:pnpm i
  • 安裝全局包:pnpm dlx x
  • 使用提供了命令的:
    • pnpm exec prisma migrate dev
    • 簡寫:pnpm prisma migrate dev
pgsql

pacma -S postgresql --noconfirm

sudo -u postgres initdb -D /var/lib/postgres/data

IDE

WebStorm

flatpak install flathub com.jetbrains.WebStorm -y

yay -S jetbrains-toolbox --noconfirm

然後運行Toolbox,通過它安裝需要的jb家產品。

無法使用中文的話:

  • kde菜單中找到這個應用,右鍵編輯應用;
  • 命令欄添加前綴(別忘了最後的空格):    env GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx <原来的启动命令,一串路径>

文本編輯器

Visual Studio Code

flatpak install flathub com.visualstudio.code -y

yay -S visual-studio-code-bin --noconfirm

不是最好的ide,但肯定是(可拓展重型編輯器中)最好的文本編輯器。

zod

flatpak install flathub dev.zed.Zed -y

選區複製挺好的,他這個選區不是根據視覺是根據列號選的。

算是迷你版的vscode,通過插件提供編程語言支持

就是不支持界面語言修改。

typora

flatpak install flathub io.typora.Typora -y

辦公套件

onlyoffice

flatpak install flathub org.onlyoffice.desktopeditors -y

媒體編輯

drawio

flatpak install flathub com.jgraph.drawio.desktop -y

我還是覺得xmind比較好用,但架不住商業軟件以及linux版沒win版好用,而且不在乎外觀的話,drawio用起來也挺順手。

kdenlive

flatpak install flathub org.kde.kdenlive -y

命令行工具

Mosh

sudo pacman -S mosh

與shh一樣,命令換為mosh root@ip ,特性是支持間歇性的連結,對於網絡不穩定的情況下算好用(不然幾分鐘就要斷一次),尤其是連結網絡波動大的國外機器。

需要受控端也安裝mosh並開放UDP 60001/6002端口。

goaccess

sudo pacman -S goaccess --noconfirm

web伺服器日誌分析

ls -v access_favorites.log* | xargs cat | goaccess - \
    --log-format=COMBINED \
    --ignore-crawlers \
    --ignore-status=400 \
    --ignore-status=404 \
    -o report_favorites.html
lychee

sudo pacman -S lychee --noconfirm

死鏈檢查

linuxdir2html

pipx install linuxdir2html

linuxdir2html 源路径 输出HTMl文件路径(会自己加.html后缀)

屏幕截取

OBS Studio

flatpak install flathub com.obsproject.Studio -y

KDE Spectacle

自帶,支持截圖和錄屏,作為輕量化平替,注意thinkboot16+沒有print鍵

日常工具

KRunner

啟動器,kde自帶,該有的功能都有,默認預加載的插件功能足夠。默認快捷鍵 alt+空格

Dolphin

kde自帶,文件管理器,順便把ftp等協議傳輸工具的活給佔了,輕量使用當是無問題

haruna

flatpak install flathub org.kde.haruna -y

kde套件,視頻播放器,底層也是libmpv,或者折騰mpv + osc

clash party

yay -S mihomo-party-bin --noconfirm

玩具

fastfetch

sudo pacman -S fastfetch

  • 生成配置文件:fastfetch --gen-config
  • 編輯配置文件:nano /home/scio/.config/fastfetch/config.jsonc
    • 設置圖標:
   "logo": {
        "source": "~/.config/fastfetch/logo.txt", // 存放ascii艺术的文件(不需要有什么占位符)
        "type": "auto",
        "color": {
            "1": "blue",
        }
    },
                      "KKP
            ,      ,+;n@nnw,    ,,
         ,||ppKN|||p##KKNpp|LKp!L@|IN,
       ;L##KKPL|$#KKM"````"TE|IKm`"K@LKp
     ||#KKM` ||#KKP .*||hw,  T|I#N   T||Km
    ||$#K`   |I#KP | |||$##N  @I#KH   ||$#N
    '|I8N    |I#Kb Y@@p##KBKP |I#KN  ,@$#KM
      TPLKm, Y|I8N  "KKKKKK* ||##KL,@$#KKP
        "Kp@bp$p@LKp,     .||p##KH@p#KK*
     U@#Kp`*KKK*Tb@@I#m |.{#KKKM*KKKPT@#Kp
      `*"         `PK#K HI#KM`        `**`
                   IK#K $K#B
           ,Kpp    I#BB IhKKp   p#p,
           "KKKKmp##KKK TKKKKp##KKKM
             `TKKKKKKP`  `*KKKKKKM`

遊戲

steam

flatpak install flathub com.valvesoftware.Steam -y

yay -S game-devices-udev --noconfirm

bottles

flatpak install flathub com.usebottles.bottles -y

這個(wine),不需要了.jpg

steam-->steam,epic&gog-->Heroic,一般軟件和遊戲-->Bottles,一些帶客戶端的大型網遊-->Lutris

osu

直接官網下載.appimage文件

需要依賴:sudo pacman -S fuse2 --noconfirm

學習

anki

yay -S anki-bin --noconfirm


 


Kleopatra

unarchiver

fastfetch Neofetch

imagemagick

docker

docker-buildx

VS Code

HexChat

syncthing

Veracrypt

czkawka

dupeGuru

gimp+PhotoGIMP or Photoshop or krita

ImageMagick

Squoosh

sox