主力電腦安裝Arch Linux教學,KDE Plasma桌面+中文輸入法

這篇教學文章供想安裝Arch Linux的人當參考,你將會得到一個正體中文,帶有中文注音輸入法,以KDE Plasma作桌面環境的Arch Linux。

為什麼要選擇Arch Linux當主力桌面系統?Ivon覺得它的優點在於:Arch Linux的系統安裝具備高自訂性,要簡潔要複雜隨你所願。軟體和Linux核心版本非常新,亦有大量第三方軟體庫作為補充。此外系統是滾動更新,升級沒有大版本之分,這點我很尬意。

然而Arch Linux不是新手友善的Linux發行版,建議至少用過Linux系統一年以上,懂得使用終端機指令,再嘗試裝Arch Linux。儘管大部分時候Arch Linux很穩定,但若是更新後有東西出錯,需要有自己動手除錯的能力。

Arch Linux是完全純文字畫面打指令安裝的,下面的每個步驟我會盡量解釋我在做什麼,並簡介pacman和AUR的用法。我不會使用任何圖形安裝器或archinstall之類的快速安裝指令稿。

遇到問題時請多看Arch Wiki和閱讀手冊試著自己解決,實在不行就到臺灣Arch Linux社群中國Arch Linux社群發問。

電腦規格:

主機板ASUS K31CD-K
CPUIntel I5-7400
GPUNvidia GTX1050Ti
RAM16GB DDR4
SSDMicron 500GB
Wifi網路卡Qualcomm Atheros QCA9377

1. 製作Arch Linux開機隨身碟

  1. Arch Linux官網,找到臺灣的鏡像站。

  2. 下載Arch Linux的ISO。

  3. 安裝balenaEtcher,插入隨身碟,按照螢幕指示製作開機隨身碟。隨身碟的資料會被清空。

2. 開始安裝Arch Linux

安裝系統請使用有線網路,用手機USB分享網路也可以,免得Wifi還要另外裝驅動。

2.1. 開機進入安裝媒體

  1. 隨身碟插著電腦,開機按Delete進入BIOS,關閉Secure Boot。

  2. 調整BIOS開機順序,以UEFI模式隨身碟開機,進入Arch Linux,用鍵盤選第一個選項,按Enter進入安裝媒體。

  3. 載入Arch Linux系統後會進入終端機(顯示root@archiso),系統應該會自動連上網路。ping到Arch Linux官網看看有無回傳封包:

1
ping -c 3 archlinux.org
  1. 檢查是否為UEFI模式開機,應會列出一長串EFI數值。若顯示No such file的話,輸入poweroff關機,退回BIOS啟用UEFI。
1
ls /sys/firmware/efi/efivars

2.2. 分割硬碟

我將使用fdisk指令進行硬碟分割,這裡只有一個硬碟,將原本的分割表刪除,全用於安裝Arch Linux。

  1. 首先查看目前的硬碟分區
1
fdisk -l
  1. 應會看到/dev/sda這樣的裝置代號。SSD或HDD通常是顯示為/dev/sda,NVME為/dev/nvme0n1
1
2
/dev/sda1  EFI System
/dev/sda2  Linux filesystem
  1. 進入該硬碟
1
fdisk /dev/sda
  1. 輸入g刪除全部分區,建立GPT分割表。
1
g
  1. 新增用於UEFI開機的第一個硬碟分區。輸入n,再輸入1,First Sector使用預設,Last Sector輸入+512M將該分區設為512MB。
1
2
3
4
5
n
1
First Sector: (Enter)
Last Sector: +512M
# 遇到Do you want to remove the signature?的問題就輸入yes
  1. 輸入t再輸入uefi,將該分區類型切換為EFI:
1
2
t
uefi
  1. 硬碟剩下的空間都給Linux的根目錄。新增第二個硬碟分區:
1
2
3
4
n
2
First Sector: (Enter)
Last Sector: (Enter)
  1. 最後輸入w確認將變更寫入硬碟:
1
w
  1. 用指令fdisk -l看目前硬碟分區,應該會是以下情況:
1
2
/dev/sda1 (EFI)
/dev/sda2 (Linux)
  1. 將硬碟格式化並建立檔案系統,EFI分區是FAT32,根目錄分區採用EXT4。
1
2
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
  1. 將根目錄分區掛載至/mnt
1
mount /dev/sda2 /mnt 

2.3. 安裝Linux核心和最小系統

  1. pacstrap安裝基本Linux檔案系統base、核心linux
1
pacstrap /mnt base linux
  1. 設定開機後硬碟掛載的規則:
1
2
mount /dev/sda1 /mnt/boot
genfstab -U /mnt >> /mnt/etc/fstab
  1. 檢視掛載狀況
1
cat /mnt/etc/fstab
  1. chroot到系統。
1
arch-chroot /mnt

2.4. 安裝驅動程式

2.4.1. 顯示卡驅動

Intel的驅動是含在開源mesa套件裡面的,開箱即用,通常不需要特別安裝。下面是包含Vulkan驅動的套件:

1
pacman -S intel-media-driver vulkan-intel

AMD顯示卡的驅動跟Intel一樣,含在mesa套件。有需要Vulkan再額外安裝:

1
pacman -S vulkan-radeon libva-mesa-driver mesa-vdpau

至於Nvidia,Arch的儲存庫有提供Nvidia顯示卡的專有驅動,不需要額外加套件庫。安裝後nouveau會自動被停用。

1
pacman -S nvidia-dkms nvidia-settings

2.4.2. Wifi與藍芽驅動

lsci查看硬體裝置的型號

1
lspci | egrep -i 'wifi|wireless|intel|broadcom|realtek'

如果網卡是用USB外接的,使用lsusb指令檢查

1
2
pacman -S usbutils
lsusb

它應該會印出一組英數:英數的代碼,到Linux Wireless wiki查詢該裝置有無驅動可用。

如果你運氣好,裝好linux-firmware套件驅動就會自動載入。

1
pacman -S linux-firmware

運氣不好,裝驅動可能得用到AUR甚至DKMS編譯,那請後面開機再處理吧。

2.5. 安裝KDE桌面環境

  1. 接著要來安裝桌面環境和一些常用工具。下面是我事先安裝這些軟體的理由:

    sudo管理root權限
    networkmanager網路管理員,會自動處理網路連線。
    xorg, xorg-serverX視窗系統
    pipewire音訊伺服器
    nvtop查看顯示卡使用率的純文字工具
    intel-ucodeIntel CPU微碼修補程式
    sddm顯示管理器,也就是開機登入畫面
    plasma-meta, kde-applications, plasma-wayland-sessionKDE桌面環境、KDE應用程式、KDE Wayland工作階段。
    vim文字編輯器
    firefoxFirefox網路瀏覽器
    noto-fonts-cjk, noto-fonts-emoji中文和Emoji字體
    fcitx5-im, fcitx5-chewing, fcitx5-qt, fcitx5-gtk, fcitx5-chinese-addons中文輸入法框架,含注音輸入法新酷音
    git, openssh, fakeroot, base-devel開發工具
  2. 用pacman套件管理員安裝KDE桌面環境和常用軟體,全部Enter同意,大約會下載5GB資料。(為避免指令太長我有分段裝,你要一次打完也可以)

1
2
3
4
5
pacman -S sudo networkmanager vim firefox noto-fonts-cjk noto-fonts-emoji
pacman -S xorg xorg-server pipewire intel-ucode nvtop
pacman -S sddm plasma-meta kde-applications plasma-wayland-session
pacman -S fcitx5-im fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons
pacman -S git openssh fakeroot base-devel

2.6. 設定一般使用者與開機服務

  1. 設定時區為台灣台北。
1
ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
  1. 使用VIM編輯語言檔案
1
vim /etc/locale.gen
  1. 把正體中文zh_TW.UTF-8取消註解(前面去掉#字號)如下:
1
2
# 使用上下左右鍵移動,按i輸入文字,改好後按Esc,再輸入「:wq」退出VIM
zh_TW.UTF-8 UTF-8
  1. 設定系統語言成正體中文
1
2
locale-gen
echo "LANG=zh_TW.UTF-8 UTF-8" >> /etc/locale.conf
  1. 給自己的主機取名為ArchLinux:
1
echo "ArchLinux" >> /etc/hostname
  1. 建立host檔案。最後一行為主機名稱。
1
2
3
echo "127.0.0.1 localhost" >> /etc/hosts
echo "::1 localhost" >> /etc/hosts
echo "127.0.1.1 ArchLinux" >> /etc/hosts
  1. 更改root的密碼:
1
2
passwd
#輸入二次新密碼
  1. 建立一般使用者帳戶"user"(名字可自取),將其加入users、wheel、audio、video、storage群組,並修改密碼
1
2
useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user
passwd users
  1. 用指令編輯sudoers:vim /etc/sudoers,賦予一般使用者帳戶sudo權限
1
2
#在"root ALL=(ALL:ALL) ALL"的下一行加入以下內容:
user ALL=(ALL:ALL) ALL
  1. 設定開機自動啟動SDDM顯示管理器、Network Manager、SSH的服務
1
2
3
systemctl enable sddm.service
systemctl enable NetworkManager.service
systemctl enable sshd.service

2.7. 安裝GRUB開機引導

  1. 安裝GRUB和efibootmgr套件
1
pacman -S grub efibootmgr
  1. 將EFI分區掛載到/boot目錄
1
mount /dev/sda1 /boot
  1. Nvidia顯示卡的用戶建議編輯GRUB設定檔:vim /etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT後面加入nomodeset的核心參數,防止開機失敗卻無任何訊息輸出,以及啟用DRM框架:
1
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset nvidia_drm.modeset=1"
  1. 接著安裝GRUB至EFI分區
1
2
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot
grub-mkconfig -o /boot/grub/grub.cfg
  1. 檢查/boot目錄下是否有成功安裝GRUB和Linux核心,應會列出grub目錄和initramfs-linux.img
1
ls /boot
  1. 系統安裝完成。退出chroot,取消掛載,關機。
1
2
3
4
exit
umount /mnt/boot
umount /mnt
shutdown now 
  1. 拔掉開機隨身碟後重開機。

3. 系統後續安裝優化

如果Arch Linux開機後沒畫面,按CTRL+ALT+F2切換至tty,登入root帳號後再除錯。或是用開機隨身碟chroot到系統進行修復(重複上文2.3.3的步驟)。

一切順利的話,應該能登入KDE桌面。下面是一些小優化。

3.1. KDE Plasma桌面入門

KDE Plasma 5桌面布局跟Windows 10十分類似,你可以任意調整桌面元件的擺放方式。

點一下桌面左下角可找到所有應用程式列表,包含「系統設定」和終端機「Konsole」。

右下角則是開關Wifi/藍芽、輸入法、顯示時間的面板。

開機後如果系統介面還是英文,點選左下角的系統設定 → Regional Settings,將Language調成正體中文並重開機。

注意在Arch Linux上,KDE的軟體商店Discover無法安裝以pacman套件管理員安裝的軟體,它只能用來裝FlatpakSnap的軟體。

3.2. pacman套件管理員使用方式

此節列出Arch Linux的套件管理員pacman的常用指令。

安裝套件

1
sudo pacman -S <套件名稱>

移除套件

1
sudo pacman -R <套件名稱>

更新整個系統的套件。因為Arch Linux是滾動發行版,建議每週更新一次系統。更新前建議看一下Arch Linux官網新聞有無嚴重bug再更新。

1
sudo pacman -Syu

強制同步套件庫。某個套件無法下載的時候才執行此指令。

1
sudo pacman -Syy

刪除本機套件快取

1
sudo pacman -Sc

3.3. 安裝AUR套件管理員

AUR (Arch User Repository) 是Arch Linux官方套件庫以外的主要套件來源,AUR沒有收錄套件檔案,只有編譯套件的設定檔。AUR套件最直接的裝法是手動git clone儲存庫,然後檢查依賴項目,再用makepkg指令打包安裝。

但是這樣太麻煩了,所以我們通常會安裝一個AUR Helper來自動化處理,我使用yay,語法跟pacman很像。

  1. 安裝yay
1
2
3
4
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
  1. 編輯:sudo vim /etc/makepkg.conf,找到MAKEFLAGS="-j2"這行,取消註解,再將後面改成"-j$(nproc)"。這樣在編譯AUR套件時即會使用全部CPU。

  2. 編輯:sudo vim /etc/pacman.conf,取消註解ColorParallelDownloads,開啟顏色和平行下載套件。再自行新增ILoveCandy參數開啟pacman的彩蛋。

因為AUR是先編譯後打包,執行時yay指令的時候不需要加sudo,只有打包後要安裝套件時需要密碼。

yay能用類似pacman的語法來安裝AUR上的套件,例如Arch Linux官方套件庫沒收的google-chrome

1
2
yay -S google-chrome
# 按下Enter同意安裝,並按照螢幕提示輸入密碼

要刪除AUR的套件也是類似的語法:

1
yay -R google-chrome

3.4. 安裝Flatpak

用Flatpak安裝軟體可以在各Linux發行版享有一致的軟體版本,例如LibreOffice、GIMP、Steam,並且安裝軟體不需要root權限。

  1. 安裝Flatpak,並加入Flathub軟體庫
1
2
sudo pacman -S flatpak
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
  1. Flathub查看APP列表,例如安裝Steam:
1
flatpak install flathub com.valvesoftware.Steam

Flatpak指令的詳細用法請看這篇

3.5. 設定Fcitx5中文輸入法

Fcitx5是Arch Linux最新的中文輸入法框架,支援注音、拼音、倉頡等輸入方案,對Wayland支援度較好。

  1. 確認已安裝必要的Fcitx5套件
1
sudo pacman -S fcitx5-im fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons
  1. 在KDE左下角的應用程式列表搜尋「Fcitx5設定程式」,加入「新酷音」注音輸入法。

  2. 針對Fcitx5,編輯環境變數:sudo vim /etc/environment,加入以下內容重開機。

1
2
3
4
5
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=fcitx
  1. 輸入文字時用CTRL+空白鍵來切換應該就會叫出新酷音。Fcitx5還有對系統匣圖示按右鍵切換簡體輸出的功能。

3.6. 設定UFW防火牆

Arch Linux預設的防火牆是iptables,通常我們會裝一個前端方便管理防火牆規則。

  1. 安裝UFW,並設定開機自動啟動UFW服務
1
2
3
4
pacman -S ufw
systemctl ufw enable
systemctl enable ufw
systemctl start ufw
  1. 設定防火牆基本規則:允許所有對外連線,阻擋所有連入連線,僅開放SSH的通訊埠。
1
2
3
4
ufw default allow outgoing
ufw default deny incoming
ufw allow ssh
ufw reload

3.7. 補齊缺少的驅動程式

最簡單的方式是重裝Linux核心:

1
sudo pacman -S linux linux-headers

Arch Linux預設會在安裝核心時建立initramfs,過程會顯示possible missing firmware:字樣,代表缺少驅動(核心模組未載入)。把那些驅動名稱拿去Google,將其安裝補齊。通常AUR都會有收這些常見的驅動。

4. Arch Linux安裝後記

這篇教學文章兼筆記最初寫於2022年7月,後多次修訂至今。

那時說Distro hopping的終點來到了Arch Linux。

標題之所以說主力,是因為主要用途是用於文書、剪輯、開發、遊戲。

資質駑鈍,安裝Arch Linux是一年下來玩各種Linux(不論是手機還電腦)累積下來的成果,現在體驗到了掌控自己電腦的感覺。

PTT文章也給我很大幫助。

2021年第一次嘗試安裝Arch Linux時,GNOME的APP怎麼開怎麼崩,不會設定中文和輸入法,之後開機便卡在終端機,果斷放棄回去用Ubuntu和Windows 11。幾個月後玩FreeBSD才想到應該是沒裝Nvidia驅動的問題。

有了各種Linux基礎概念後,2022年Arch Linux一小時就安裝完成。

玩手機Termux Proot distro、實機操作過PinePhone、在Android上刷postmarketOS、嘗試編譯Android的docker kernel、在各種桌面系統的distro hopping經驗,讓我掌握了設定語言和時間等基本知識。

大致上主流發行版都體驗過了一次: Ubuntu → Manjaro → Debian → Fedora → openSUSE Tumbleweed → GUIX → Arch Linux

KDE介面很細心,GNOME操作邏輯很炫,XFCE是測試桌面的第一穩定選擇,所以到現在我還是選了KDE。

安裝時是有線網路…不過裝完linux-firmware開機後我的高通網卡就自動抓到驅動了 :P 還以為要像Realtek的自己編譯。

原本擔心AUR會不會套件比較難安裝,但其實也沒那麼難用。Fedora、openSUSE某些軟體會不受開發者支援,所以才會去用Flatpak,但AUR似乎是包山包海。

Arch Linux玩熟後,就前進到Gentoo了,幾個月後還是跳回Arch Linux了。

如果本網站文章對您有幫助,歡迎贊助我。