Arch Linux + KDE安裝教程

玩轉Arch Linux是一件非常有成就感的事情,尤其是自己動手一步步安裝它、配置它、折騰它,把它打造成自己理想的操作系統。剛開始看似很難,官方提供的鏡像就是一個沒有任何桌面環境的bare system。但這正是Arch Linux的閃光點——高定製性,所有的組件均可以通過官方鏡像,來給目標系統安裝上,想要什麼組件就裝什麼組件,系統歸你掌握。

近日,我成功給我的上古ThinkPad X200裝上了Arch Linux,並配置好了KDE,把經驗總結如下。

下載Arch Linux鏡像

Arch Linux的鏡像可從官方網站下載:https://www.archlinux.org/download/

頁面中提供了磁力鏈接、BT種子,而往下拉可以找到HTTP直鏈下載,其中包括中國大陸鏡像源,如163、中科大、清華TUNA。推薦寬帶用戶選擇163的源,教育網用戶選擇中科大的源。

下載完成後,用Rufus把鏡像刷寫到U盤中,然後用它啓動電腦,進入安裝環境。

連網

Arch Linux的安裝需要全程聯網,建議使用啓用了DHCP的有線網,插上網線就可用,無需額外配置,且相對穩定。當然也可採用WLAN,但配置會複雜一些,可以參考一下這個

插上網線後,如果無法聯網,則可重啓一下DHCP客戶端dhcpcd:

systemctl restart dhcpcd

如果還不行,則重新啓用一下以太網接口:

# 查看網絡接口狀態,列表中以太網接口前綴是enp,如enp0s25
ip link
# 重新打開網絡接口
ip link set enp0s25 up

準備安裝分區

Arch Linux搭配KDE,建議至少20GB的磁盤空間(如果要安裝KDE全家桶)。

如果要與現在的系統共存,可在Windows的“磁盤管理”中,壓縮出一個分區。新硬盤建議用圖形化的cfdisk分區,同時支持GPT與MBR。老鳥可用命令行的fdisk與parted。我的老筆記本是給整個硬盤都裝上,所以直接給它重新分區。

筆者的分區方案

由於ThinkPad X200年代久遠,不支持UEFI,所以只能選擇MBR分區。110GB的固態硬盤,分區方案如下表。其中,系統、引導和用戶文件放在同一個分區中。

分區用途 大小 設備路徑 備註
目標分區 104GB /dev/sda1 主分區,活動分區
交換分區 ≈6GB /dev/sda5 邏輯分區

格式化並掛載

分區的文件系統選擇上,通常用EXT4和BtrFS較多,老電腦+SSD建議選擇BtrFS,BtrFS有專門的SSD優化選項,可在掛載時打開;而EXT4會因不明原因,時常導致筆記本死機。

格式化目標分區,然後掛載到/mnt/mnt就是我們系統安裝的目標目錄:

# 格式化目標分區爲BtrFS
mkfs.btrfs /dev/sda1

# 掛載目標分區,並打開SSD優化
mount -t btrfs -o ssd /dev/sda1 /mnt

啓用Swap

# 初始化交換分區
mkswap /dev/sda5
# 啓用交換分區
swapon /dev/sda5

# 檢查交換分區使用情況
free

預安裝過程

分區準備並掛載完成後,就可以開始安裝了。安裝過程用到的核心工具有pacstraparch-chroot

pacstrap用於把指定的包安裝在指定目錄,是pacman的離線版;而arch-chroot則用於把當前系統環境切換到指定的目錄,通常是我們掛載目標分區的/mnt,由此可允許我們以新裝系統的名義進行操作。

arch-chroot後,我們就可以向管理真實系統一樣管理目標分區中的系統(目標系統),例如直接使用pacman等常用工具。運行exit可退回安裝環境。

注意:

  • 安裝基礎組件後,pacstrap可在arch-chroot切換後,被pacman取代。其他一些操作也可以在目標系統中完成,只是要注意命令參數的變化。

提示:配置文件默認用vim打開。vim的基本操作方法:

  • 方向鍵移動光標;
  • 按<kbd>i</kbd>鍵進入編輯模式;
  • 按<kbd>v</kbd>鍵進入可視模式。此模式下按方向鍵可控制選區,<kbd>y</kbd>鍵複製。
  • 按<kbd>ESC</kbd>退出以上模式,返回一般模式;
  • 一般模式下,按<kbd>p</kbd>鍵粘貼,<kbd>x</kbd>鍵退格,按兩下<kbd>d</kbd>鍵刪除整行;
  • 一般模式下,輸入:<命令>後回車,可執行內部命令。常用命令有:w(保存)、:x(保存並退出)、:q(直接退出)、:q!(不保存文件退出)。
  • 一般模式下,鍵入/,後跟關鍵字,可快速定位。

使用中國大陸鏡像源

Arch Linux的默認服務器在國外,因此需要切換到中國大陸的服務器,以實現滿速下載,提高效率。

使用Vim打開鏡像源配置文件:

vim /etc/pacman.d/mirrorlist

然後在文件中定位到# China開頭的項目(可輸入),例如163(推薦,可滿速)。可視模式下把它們所在的行復制,再粘貼到文件開頭。下次就可以使用該鏡像源進行下載。

安裝基礎組件

系統基礎組件由三個包組成:核心包(base)、Linux內核(linux)與固件(linux-firmware)。安裝後即可構成一個最基本的Arch Linux:

pacstrap /mnt base linux linux-firmware

添加用戶

包括Arch Linux在內,裸安裝的Linux發行版默認使用Root用戶,顯然不安全,因此要添加用戶。(這與VPS中安裝的Linux差不多。)

第一,安裝sudo。沒錯,sudo並不是系統預裝的組件,還是要用戶手動安裝的。順便把vi和vim裝上,用於編輯配置文件:

pacstrap /mnt sudo vim vi

第二,授予普通用戶sudo權限。先打開sudo配置文件:

# 切換到目標系統中才能進行操作
arch-chroot /mnt
# 打開配置文件。默認用vi打開
visudo

然後取消下面這行的註釋,即刪掉前面的#符號。這行語句允許wheel組的用戶獲取root權限。

取消註釋以下指定行,並保存。

## Uncomment to allow members of group wheel to execute any command
# ↓ 就是下面這行 ↓
%wheel ALL=(ALL) ALL

第三,再新建一個新用戶

# -G參數設置用戶組,-m開關建立用戶目錄,username爲你的用戶名
useradd -G wheel -m username

給新用戶設置密碼。密碼要輸入兩次,沒有回顯:

passwd anclark

然後檢查一下/home目錄下有沒有自動新建的用戶主目錄,如果沒有,則手工創建。需要注意的是,主目錄權限不當會導致很多組件運行異常,因爲它們要讀寫主目錄中的配置文件。

# 創建用戶目錄,並設定權限
mkdir /home/username
chown -R username /home/username

# 設置用戶主目錄
usermod -d /home/username username

# 退回安裝環境
exit

OK,下次即可用我們的新用戶來登錄。

安裝啓動器

Arch Linux可選的啓動器有若干種,首選Grub。由於筆者的X200不支持UEFI,因此只能以MBR的形式安裝。首先安裝Grub軟件包:

# 安裝Grub
pacstrap /mnt grub

然後把Grub啓動器安裝到硬盤中。注意最後一個參數爲目標的磁盤設備,而不是分區。

# 配置Grub以實現硬盤啓動(MBR)
# 參數--target設置安裝模式,值i386-pc爲默認值,表示MBR安裝
# 參數--root-directory設置安裝目標磁盤的根目錄。省略則表示當前根目錄
grub-install --target=i386-pc --root-directory=/mnt /dev/sda

最後切換到目標系統,生成配置文件。實際上,前一步也可以在目標系統中進行,只需去掉--root-directory參數即可。

# 生成配置文件
arch-chroot /mnt
grub-mkconfig -o /boot/grub/grub.cfg
exit

EFI用戶參照ArchWiki。

生成fstab

genfstab工具可把當前掛載磁盤的狀態保存到fstab中,方便系統自動掛載。磁盤的參數也會保存於其中。

genfstab /mnt > /mnt/etc/fstab

安裝圖形環境

接下來就是安裝Xorg圖形環境。xorg包包含了所有可能用到的組件,在此基礎上再安裝顯卡驅動組件。

# 安裝Xorg
pacstrap /mnt xorg
# 安裝顯卡組件
pacstrap /mnt xf86-video

xf86-video 貌似已經失效,可參考Arch Linux安裝文檔來決定安裝哪個驅動。常見的選項如下:

# 英特爾
pacstrap /mnt xf86-video-intel
# AMD/ATI
pacstrap /mnt xf86-video-amdgpu
pacstrap /mnt xf86-video-ati
# NVIDIA開源驅動
pacstrap /mnt xf86-video-nouveau
# NVIDIA閉源驅動
pacstrap /mnt nvidia
pacstrap /mnt nvidia-390xx

安裝網絡組件

Arch Linux默認沒有預裝網絡組件,因此也需要手動安裝。一般安裝三個組件即可:

  • dhcpcd:DHCP客戶端。
  • wpa_supplicant:無線網服務端。
  • networkmanager:網絡管理器前端,KDE等桌面環境依賴它來管理網絡,若不啓用則會使KDE的網絡管理器無法運作。
# 這三個包是網絡的核心組件
pacstrap /mnt dhcpcd wpa_supplicant networkmanager

# 啓用上述組件。重啓後一般可直接生效
arch-chroot /mnt
systemctl enable dhcpcd
systemctl enable wpa_supplicant
systemctl enable NetworkManager
exit

安裝聲音支持

KDE等桌面環境使用PulseAudio作爲音頻後端,配合ALSA模塊即可解決聲音問題。

pacstrap /mnt alsa-utils pulseaudio pulseaudio-alsa

安裝KDE Plasma

接下來就是安裝KDE Plasma桌面環境,Plasma本身就是一個軟件包。

首先安裝桌面環境本體,以及桌面管理器SDDM:

# Plasma桌面環境
pacstrap /mnt plasma-meta sddm

然後,啓用SDDM窗口管理器,以實現開機自動進入登錄界面。

# 切換到已安裝好的系統裏
arch-chroot /mnt
# 開啓SDDM的服務
systemctl enable sddm

進入系統後顯示的所謂登錄界面,實際上就是SDDM本身,通過登錄驗證後就由它來啓動Plasma桌面環境。相應地,退出登錄後就終止了Plasma,重新打開SDDM,以顯示登錄界面。在Linux發行版中切換用戶時,會退回字符界面,屏幕上會顯示一堆日誌,就是因爲這個過程。基於這個特性,SDDM還可以啓動其他的桌面環境,例如OpenSUSE預裝的OpenBox。

安裝Konsole

值得一提的是,Plasma只是一個桌面環境,沒有包含任何其他的KDE應用(如文件管理器等),這些應用獨立於Plasma,需要用戶手動安裝。我們見到的Kubuntu、Manjaro等包含的應用實際上是開發團隊爲我們事先裝好的。

也正因如此,一些常用的應用需要我們手動安裝,比如重啓系統後要經常用到的Konsole終端。

pacman -S konsole

如果不安裝終端,就只能在進入Plasma後,按<kbd>Ctrl+Alt+F2/F3/F4</kbd>切換到TTY中操作。

重啓後安裝其他組件

經過以上的設置,重啓電腦並由硬盤啓動後(建議拔掉啓動盤),就能看到登錄界面了,用我們新建的用戶即可直接登入系統。之後我們就可以在安裝好的系統中,進行後續的操作。

安裝KDE全家桶

KDE組織旗下開發了大量的軟件,涵蓋系統應用的方方面面。用戶可按自己的實際需要安裝,或者安裝下面這個包,迎來KDE全家桶:

sudo pacman -S kde-applications-meta

全家桶的體積非常大,包含各類應用,甚至涵蓋了不少遊戲和教育軟件。大部分軟件難以用上,因此虛擬機用戶不建議安裝,而以按需取用其中一個組件來代替。

虛擬機用戶應至少安裝一個終端、一個文件管理器和文本編輯器:

sudo pacman -S konsole dolphin kate

安裝中文字體

中文字體默認沒有安裝。若不安裝,會在中文顯示的地方顯示Unicode佔位符。

# 安裝思源黑體
sudo pacman -S noto-fonts-cjk

安裝Fcitx

Fcitx是最常用的輸入法框架之一。

第一,先安裝Fcitx所需的包。注意安裝過程可能會提示選擇安裝哪個fcitx核心組件,建議先選fcitx-qt5。fcitx-qt5、fcitx-gtk2、fcitx-gtk3這三個包是爲了能在對應環境開發的APP中正常使用輸入法。

sudo pacman -S fcitx fcitx-im kcm-fxitx fcitx-qt5 fcitx-gtk2 fcitx-gtk3 fcitx-configtool

第二,設置fcitx作爲我們默認的輸入法框架。創建並編輯/home/用戶名/.xprofile,然後在裏面添加以下內容:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

重新登錄生效。

啓用網絡支持

若網絡管理不起作用,KDE設置裏網絡管理部分顯示爲空白,且任務欄上沒有網絡圖標,則手工啓用網絡管理器。立即生效。

sudo systemctl start NetworkManager
sudo systemctl start wpa_supplicant

啓用藍牙組件

Plasma會裝上藍牙服務程序Bluez,但默認不會啓用,導致系統提示“找不到藍牙適配器”。

先啓用Bluez Daemon:

sudo systemctl enable bluetooth
sudo systemctl start bluetooth

安裝藍牙音頻支持:

sudo pacman -S pulseaudio-bluetooth

高級玩家還可以安裝高級藍牙管理器:

sudo pacman -S blueman

Blueman可激活電腦藍牙的隱藏功能,如把電腦當手機的藍牙音箱、串口通信。需內核支持。

安裝媒體組件

基本的媒體組件包括硬件加速庫libva,以及媒體播放器。libva同時支持英特爾和NVIDIA的顯卡(後者使用NVIDIA專有的VDPAU技術)。而在媒體播放上,Arch Linux首推VLC。

# 安裝硬件加速庫libva
sudo pacman -S libva libva-intel-driver libva-vdpau-driver libva-utils
# 檢查硬件加速庫狀態,會顯示libva庫的版本與顯卡信息
vainfo

# VLC和SMPlayer,按需取用。VLC已包含在KDE全家桶中
sudo pacman -S vlc smplayer

配置好休眠文件(可解決自動休眠時的卡死問題)

X200有一定機率會在關機時長時間掛起,在文字界面下可見,關機過程卡在以下地方:

[***  ]A stop job is running for device dev-disk-by/uuid-b072209d-279a-41cd-b4b3-16eab1a84d60.device. (1min 30s)

檢查了一下fstab,發現日誌中的UUID正是Swap分區的UUID,檢索資料後查明是與休眠相關的參數沒配置好。而此前偶有出現系統閒置時會莫名其妙卡死,疑爲與自動休眠相關,自動休眠可能正觸發了這個問題。

解決方法就是修改Grub默認配置文件。用Vim打開/etc/default/grub

sudo vim /etc/default/grub

把以下參數加進GRUB_CMDLINE_LINUX_DEFAULT字段裏,注意包裹在原有的引號中:

resume=UUID=<Swap分區的UUID>

其中,要獲取Swap分區的UUID,可打開/etc/fstab。

最後重新生成配置文件,重啓後生效:

sudo grub-mkconfig -o /boot/grub/grub.cfg

禁用蜂鳴器

默認情況下,進行一些操作時,電腦的蜂鳴器會響起,發出很刺耳的嘟嘟聲,例如在TTY中光標的始末處按方向鍵或退格鍵。這時可以考慮禁用蜂鳴器。

蜂鳴器默認作爲內核模塊加載,因此只需把相應的模塊加入黑名單中禁用即可。

# 切換到Root用戶下
sudo -i
# 卸載蜂鳴器模塊
rmmod pcspkr
# 把蜂鳴器模塊添加到黑名單中,重啓即可徹底禁用之
echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf

參考資料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章