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

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

為什麼要選擇Arch Linux當桌面系統?Ivon覺得它的優點在於:一、Arch Linux的系統安裝具備高自訂性,要簡潔要複雜隨你所願。二、軟體和Linux核心版本非常新,亦有大量第三方軟體庫作為補充。三、系統是滾動更新,升級沒有大版本之分,這點我很尬意。四、社群撰寫的Arch Wiki包山包海,大部分問題都能找到解答。

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

Arch Linux是完全純文字畫面打指令安裝的,下面的每個步驟我會盡量解釋我在做什麼,並簡介pacman和AUR的用法,還有使用Arch Linux的基本觀念。我不會使用任何圖形安裝器或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模式開機,應會回傳「64」。若顯示No such file or directory的話,輸入poweroff關機,退回BIOS啟用UEFI再重新來過。
1
cat /sys/firmware/efi/fw_platform_size

2.2. 修改鏡像站

Arch Linux安裝媒體預設是從官方伺服器下載套件,有些地區的網速可能會很慢。為此您可以先將Arch Linux的套件庫改成離您較近的鏡像站。

各國的鏡像站網址可用Pacman Mirrorlist Generator取得,像臺灣國內目前就有5個Arch Linux的鏡像站。

  1. 編輯/etc/pacman.d/mirrorlist
1
vim /etc/pacman.d/mirrorlist
  1. 在第一行將#取消註解,並在Server的後面改為臺灣國網中心的Arch鏡像站網址。這樣Arch就會優先使用此套件庫。
1
Server = https://free.nchc.org.tw/arch/$repo/os/$arch
  1. 嘗試同步套件庫,能連線的話就不會輸出任何錯誤訊息。
1
pacman -Syy

2.3. 分割硬碟

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

  1. 首先查看目前的硬碟分區
1
fdisk -l
  1. 應會看到/dev/sda這樣的裝置代號。SSD或HDD通常是顯示為/dev/sda,NVME為/dev/nvme0n1。fdisk的列表會包含硬碟和開機隨身碟,請用容量判斷何者為目標硬碟。
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. 接著新增SWAP分區(交換分區,又稱虛擬記憶體),建議為RAM的二倍大小。之後按t,切換分區類型為swap
1
2
3
4
5
6
n
2
Fisrt sector: Enter
Last Sector: +32GB
t
swap
  1. 硬碟剩下的空間都給Linux的根目錄。新增第三個硬碟分區:
1
2
3
4
n
3
First Sector: (Enter)
Last Sector: (Enter)
  1. 最後輸入w確認將變更寫入硬碟:
1
w
  1. 用指令fdisk -l看目前硬碟分區,應該會是以下情況:
1
2
3
/dev/sda1  512MB  EFI
/dev/sda2  32GB   SWAP
/dev/sda3  450GB  Linux
  1. 將硬碟格式化並建立檔案系統,EFI分區是FAT32,根目錄分區採用EXT4,再啟用SWAP。
1
2
3
4
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3
mkswap /dev/sda2
swapon /dev/sda2
  1. 將根目錄分區掛載至/mnt
1
mount /dev/sda3 /mnt

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

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

2.5. 安裝驅動程式

2.5.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 nvidia-settings

2.5.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套件,有含在主線Linux核心的專有驅動就會在開機後自動載入。

1
pacman -S linux-firmware

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

2.6. 安裝KDE桌面環境

  1. 接著要來安裝桌面環境和一些常用工具。下面是我事先安裝這些軟體的理由:
套件名稱用途
sudo管理root權限
networkmanager網路管理員,會自動處理網路連線變更。
xorg, xorg-serverX視窗系統
pipewire, wireplumber, pipewire-pulse音訊伺服器,相容PulseAudio。
nvtop查看顯示卡使用率的純文字工具
intel-ucodeIntel CPU微碼修補程式
sddm顯示管理器,也就是開機登入畫面
plasma-meta, kde-applications, plasma-wayland-session, packagekit-qt5KDE桌面環境、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開發工具
  1. 用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 wireplumber pipewire-pulse intel-ucode nvtop
pacman -S sddm plasma-meta kde-applications plasma-wayland-session packagekit-qt5
pacman -S fcitx5-im fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons
pacman -S git openssh fakeroot base-devel

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

  1. 設定時區為台灣台北。設定硬體時鐘。
1
2
ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
hwclock --systohc
  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. 設定開機自動啟動SDDM顯示管理器、Network Manager、SSH的服務
1
2
3
systemctl enable sddm.service
systemctl enable NetworkManager.service
systemctl enable sshd.service
  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 user
  1. 用指令編輯sudoers:vim /etc/sudoers,賦予一般使用者帳戶sudo權限
1
2
#在"root ALL=(ALL:ALL) ALL"的下一行加入以下內容:
user ALL=(ALL:ALL) ALL

2.8. 安裝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.4的步驟)。

一切順利的話,應該會看到登入畫面,輸入密碼後就能登入KDE桌面,下面是一些小優化。

3.1. KDE Plasma桌面入門

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

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

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

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

在Arch Linux上,KDE的軟體商店「Discover」除了管理pacman的軟體外,還可以配合FlatpakSnap使用。

KDE Plasma最新版預設會採用Wayland作為顯示協定,若有需要可在SDDM的登入畫面左上角切換為X11。

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

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

Arch Linu安裝套件不會像其他Linux發行版事先為使用者設定與啟動服務,因此即使是像Firefox這樣受歡迎的軟體,仍建議在安裝套件後到Arch Wiki → 關於Firefox的頁面,查看有無其他需要調整的設定檔。

用此指令搜尋線上套件

1
sudo pacman -Ss <套件名稱>

用此指令安裝套件。Arch Linux不支援部份更新,不可以用pacman -Sy <套件名稱>來安裝套件。

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-bin.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

更新所有AUR套件,並順便更新整個系統的套件:

1
yay -Syu

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
sudo pacman -S ufw
sudo ufw enable
sudo systemctl enable ufw
sudo systemctl start ufw
  1. 設定防火牆基本規則:允許所有對外連線,阻擋所有連入連線,僅開放SSH的通訊埠。
1
2
3
4
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow ssh
sudo ufw reload

3.7. 補齊缺少的驅動程式

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

1
sudo pacman -S linux linux-headers

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

通常AUR都會有收這些驅動,例如mkinitcpio-firmware套件就足以補齊許多驅動:

1
yay -S mkinitcpio-firmware

3.8. 尋找更多實用的Linux應用程式

老樣子,請先看Arch Wiki:List of applications了解有哪些實用的應用程式。

我有另外整理一個中文列表:我的Linux必裝軟體,裡面有許多實用的Linux軟體。

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了。


感謝您的閱讀。歡迎分享Ivon的部落格(ivonblog.com)的文章,引用或轉載請註明文章網址,並遵守創用CC-姓名標示-非商業性-禁止改作 4.0 國際授權條款。如需商業使用請來信告之。

written by human, not by AI

如果本網站文章對您有幫助,歡迎請我喝杯珍珠奶茶。

留言板

點選按鈕,選擇您覺得方便的留言系統。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要登入Github帳號才能留言。支援markdown語法,方便您張貼程式碼,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus投放的廣告。無論有無登入皆可留言。此處留言只有本站參與者看得到。若您選擇以訪客身份匿名留言,就不會收到後續回覆通知。