こんにちは。Kanade改めK4eです。
Arch Linux+btrfs+KDE+pf-kernelのデスクトップ環境を構築し、日本語入力環境構築までを行ったため、手順を紹介します。
今回の構成について
まず今回の構成についての説明を行います。
Arch Linuxについて
Arch Linuxは自分の好きなようにシステムを構築することができる自由度の高いLinuxディストリビューションです。最小構成に必要なものを好きなように組み合わせてシステムを作成することができます。
Arch Linuxは自分の好きなデスクトップ環境、Linuxカーネルを用意することができます。今回はそれぞれKDE Plasma、pf-kernelを採用しました。
KDE Plasmaについて
KDE PlasmaはUbuntuに採用されているGNOMEと並んで有名なLinux向けのデスクトップ環境です。WindowsライクなUIなのでWindowsユーザには特におすすめです。
昔は動作が重い、と言われていましたが、現在は改善されて、比較的軽量なデスクトップ環境といえるくらいになっていると思います。
pf-kernelについて
pf-kernelはLinuxカーネル向けの非公式パッチセットです。主にデスクトップ用途のレイテンシ改善がされています。
CPUスケジューラがリアルタイムOS寄りの設定になっており、重い処理があっても低レイテンシで割り込みができるように調節されているようです。そのほか、CPUタイマー、CPU命令セット対応、周波数制御などの最適化が行われており、重い処理をまわしながら低レイテンシで気持ちよくGUIを使用できるよう調整されています。
Arch Linux + 非公式カーネルという環境はUbuntuやFedoraのデスクトップ環境より不安定で壊れやすいです。ここでファイルシステムとしてbtrfsを採用し、この問題を解消します。
btrfsについて
btrfsは比較的新しいファイルシステムでext4やxfsと比べて高度な機能を持っています。
今回注目するのはスナップショット機能です。容量を殆ど消費することなくファイルシステムのスナップショットをとることができます。これを用いることで万が一システムアップデート時にシステム障害が発生してもロールバックすることができます。
これらを合わせて
- 高速で
- 耐障害性を持つ
- 使いやすい
実用的なLinuxデスクトップ環境を作成していきます。
インストール
キーマップ変更
JP配列のキーボードを使っている人は以下コマンドで変更します。
# loadkeys jp106
ネットワーク確認
ネットワーク環境があることを確認します。
# ping archlinux.jp
なければ有線接続やiwctlなどを用いた無線接続を設定してください。
パーティション設定
パーティションを分けます。
UEFI+GPT環境を想定していますので以下の構成にしました。
| パーティション | パーティションタイプ | 容量 |
|---|---|---|
| /dev/sda1 | EFIシステムパーティション | 1GB |
| /dev/sda2 | Linux system root | 残り全部 |
# cgdisk /dev/sda
このような設定になっていれば大丈夫です。
パーティション分割したらフォーマットしていきます。
EFIシステムパーティションはfat32にフォーマットします。
# mkfs.fat -F 32 /dev/sda1
ルートパーティションはbtrfsでフォーマットします。
# mkfs.btrfs /dev/sda2
ファイルシステムのマウント
ルートボリュームを/mntにマウントします。
# mount /dev/sda2 /mnt
EFIパーティションを/mnt/bootにマウントします。
# mount --mkdir /dev/sda1 /mnt/boot
必須パッケージのインストール
必須パッケージをインストールします。のちpf-kernelを導入するため、linuxパッケージは必要ないのですが、念のため入れています。不要であれば消してしまって構いません。
後のため、一緒にvim git curlもインストールします。
# pacstrap -K /mnt base linux linux-firmware vim git curl
fstabの生成
/etc/fstabを生成します。Archにはgenfstabという便利なコマンドが用意されており、これを使うことで簡単に生成できます。
# genfstab -U /mnt >> /mnt/etc/fstab
chroot
作成したシステムにchrootで入ります。
# arch-chroot /mnt
タイムゾーン設定
タイムゾーンを設定します。また、hwclockで/etc/adjtimeを生成します。
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc
ロケール設定
/etc/locale.genで必要なロケールのコメントを外してから
# locale-gen
コマンドでロケール設定を作成します。
ホストネーム設定
/etc/hostnameファイルを作成し、ホスト名を内部に記載します。
# vim /etc/hostname
もちろんnanoでもよいです。
キーマップの設定
/etc/vconsoleを作成してキーマップ設定を行います。
sudoのインストール
sudoをインストールします。
pacman -S sudo
sudoグループにsudo権限を付与します。
visudo
で/etc/sudoersを開き、
%sudo ALL=(ALL:ALL) ALL
行のコメントアウトを外します。
一般ユーザの作成
AUR helperのビルドに一般ユーザが必要です。
一般ユーザを今のうちに作っておきます。
# useradd -m kanade
# passwd kanade
sudoグループを作成した後、
ユーザにsudo権限を付与するためsudoグループに入れます。
groupadd sudo
# usermod -aG sudo kanade
paruのインストール
pf-kernelのインストールにはAUR helperが必要です。今回はAUR helperとしてParuを導入します。
先ほど作成したユーザに切り替えます。
su kanade
cd
githubレポジトリのREADME.mdの通り、以下のコマンド群を実行します。
$ sudo pacman -S --needed base-devel
$ git clone https://aur.archlinux.org/paru.git
$ cd paru
$ makepkg -si
途中の質問はデフォルトの1を選択します。
paruのインストールが終わったらpf-kernelをインストールします。
インストール前にファイルシステム用のfsckをインストールしておきます。fsckとはファイルシステムのエラーチェックや修復を行うシステムです。これがないとインストールの最後、mkinitcpio時にエラーが出ます。
# sudo pacman -S btrfs-progs
fsckをインストールした後にlinux-pfをインストールします。時間がかかるのでコンパイルが始まったらしばらく待ちましょう。
paru -S linux-pf
KDE Plasmaのインストール
KDE Plasmaをインストールします。
sudo pacman -S plasma-meta
途中、複数インストールするソフトを選べます。好みですが、今回はqt6-multimediaはffmpeg、jackはjack2、フォントはnoto-fontsを選びました。
また、kde-applications-metaをインストールしておきます。
sudo pacman -S kde-applications-meta
選択に関してはこだわりがなければデフォルトで問題ありません。
インストール後はsddmとNetworkManagerをenableしておきます。
sudo systemctl enable sddm
sudo systemctl enable NetworkManager
日本語環境のインストール
日本語フォントと日本語入力環境をインストールします。
sudo pacman -S \
noto-fonts-cjk \
noto-fonts-emoji \
otf-ipaexfont \
fcitx5 \
fcitx5-mozc \
fcitx5-configtool \
日本語フォントとfcitx5+mozcをインストールします。
grubのインストール
grubをインストールします。
sudo pacman -S grub
余計な問題が起きないようにrootに戻っておきます。
exit
grub-installでgrubアプリのインストールを行います。
efibootmgrというパッケージが必要になるのでこれも追加で用意します。
sudo pacman -S efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
エラーなく終わったら最後にgrub-mkconfigを行います。
grub-mkconfig -o /boot/grub/grub.cfg
エラーなく終わった場合、インストール作業は終わりです。
再起動をして起動するかどうか確認しましょう。
exit
umount -R /mnt
reboot
sddmの起動画面が出れば成功です。
日本語設定
Konsole(ターミナル)を開き、fcitx5-configtoolを開きます。
この形になっていれば大丈夫です。
適応を押すとMozcが有効になります。
まとめ
今回はKDE Plasma、KDE Plasma、pf-kernelでLinuxデスクトップ環境を作成し、日本語入力環境まで構築しました。
Arch Linuxはpacman -Sすることで簡単にカーネルを変更することができます。今回はGUIで特に強みを生かすことができるpf-kernelを採用し、低レイテンシな実用的な日本語対応済みLinuxデスクトップ環境を作成することができました。
一度作ってしまえばあとは定期的に
sudo pacman -Syu
でアップデートしておけば大抵は壊れません。
btrfsを採用しているため、システムアップデート前にスナップショットをとっておけば何か問題があった際にロールバックができます。
日常使い、検証用環境、どちらにおいても優秀な環境だと思います。ぜひ参考にしていただければと思います。



