快轉到主要內容

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

分類   Linux系統 Linux系統安裝教學
標籤   Arch Linux
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

這篇教學文章供想安裝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檢查網路是否正常:

ping -c 3 archlinux.org
  1. 檢查是否為UEFI模式開機,應會回傳「64」。若顯示No such file or directory的話,輸入poweroff關機,退回BIOS啟用UEFI再重新來過。
cat /sys/firmware/efi/fw_platform_size

2.2. 修改鏡像站
#

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

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

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

2.3. 分割硬碟
#

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

  1. 首先查看目前的硬碟分區
fdisk -l
  1. 應會看到/dev/sda這樣的裝置代號。SSD或HDD通常是顯示為/dev/sda,NVME為/dev/nvme0n1。fdisk的列表會包含硬碟和開機隨身碟,請用容量判斷何者為目標硬碟。
/dev/sda1  EFI System
/dev/sda2  Linux filesystem
  1. 選取要安裝系統的硬碟
fdisk /dev/sda
  1. 輸入g刪除全部分區,建立GPT分割表。
g
  1. 新增用於UEFI開機的第一個硬碟分區。輸入n,再輸入1,First Sector使用預設,Last Sector輸入+512M將該分區設為512MB。
n
1
First Sector: (Enter)
Last Sector: +512M
# 遇到Do you want to remove the signature?的問題就輸入yes
  1. 輸入t再輸入uefi,將該分區類型切換為EFI:
t
uefi
  1. 接著新增SWAP分區(交換分區,又稱虛擬記憶體),建議為RAM的二倍大小。之後按t,切換分區類型為swap
n
2
Fisrt sector: Enter
Last Sector: +32GB
t
swap
  1. 硬碟剩下的空間都給Linux的根目錄。新增第三個硬碟分區:
n
3
First Sector: (Enter)
Last Sector: (Enter)
  1. 最後輸入w確認將變更寫入硬碟:
w
  1. 用指令fdisk -l看目前硬碟分區,應該會是以下情況:
/dev/sda1  512MB  EFI
/dev/sda2  32GB   SWAP
/dev/sda3  450GB  Linux
  1. 將硬碟格式化並建立檔案系統,EFI分區是FAT32,根目錄分區採用EXT4,再啟用SWAP。
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3
mkswap /dev/sda2
swapon /dev/sda2
  1. 將根目錄分區掛載至/mnt
mount /dev/sda3 /mnt

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

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

2.5. 安裝驅動程式
#

2.5.1. 顯示卡驅動
#

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

pacman -S intel-media-driver vulkan-intel

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

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

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

pacman -S linux-headers nvidia-dkms nvidia-settings

Nvidia顯示卡(驅動版本 > 545)的用戶建議編輯Nvdiia核心模組參數,啟用DRM框架,KDE Wayland才會有畫面。

mkdir /etc/modprobe.d
echo "options nvidia_drm modeset=1 fbdev=1" >>  /etc/modprobe.d/nvidia.conf

2.5.2. Wifi與藍芽驅動
#

lsci查看硬體裝置的型號

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

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

pacman -S usbutils
lsusb

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

如果你運氣好,裝好linux-firmware套件,有含在主線Linux核心的專有驅動就會在開機後自動載入。

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, packagekit-qt6KDE桌面環境、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資料。為避免指令太長我有分段裝,您要一次打完也可以。
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 packagekit-qt6
pacman -S fcitx5-im fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons
pacman -S git openssh fakeroot base-devel

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

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

2.8. 安裝GRUB開機引導
#

  1. 安裝GRUB和efibootmgr套件
pacman -S grub efibootmgr
  1. 將EFI分區掛載到/boot目錄
mount /dev/sda1 /boot
  1. 接著安裝GRUB至EFI分區
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
ls /boot
  1. 系統安裝完成。退出chroot,取消掛載,關機。
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桌面布局跟Windows 10十分類似,您可以任意調整桌面元件的擺放方式。

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

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

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

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

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

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

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

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

用此指令搜尋線上套件

sudo pacman -Ss <套件名稱>

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

sudo pacman -S <套件名稱>

移除套件

sudo pacman -R <套件名稱>

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

sudo pacman -Syu

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

sudo pacman -Syy

刪除本機套件快取

sudo pacman -Sc

3.3. 安裝AUR套件管理員
#

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

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

  1. 安裝yay
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

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

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

yay -R google-chrome

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

yay -Syu

3.4. 安裝Flatpak套件管理員
#

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

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

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

3.5. 設定Fcitx5中文輸入法
#

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

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

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

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

3.7. 補齊缺少的驅動程式
#

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

sudo pacman -S linux linux-headers

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

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

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

相關文章

讓Arch Linux安裝更簡單:archinstall script使用教學
分類   Linux系統 Linux系統安裝教學
標籤   Arch Linux
先裝Arch Linux再裝Windows 11,單碟雙系統開機
分類   Linux系統 Linux系統安裝教學
標籤   Arch Linux Windows
打造精簡的Ubuntu Linux!用Debootstrap安裝系統
分類   Linux系統 Linux系統安裝教學
標籤   Debootstrap Ubuntu

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。