Arch Linux Setup Guide
はじめに
Arch Linuxのインストールが無事に終わったら、今度は基本的なセットアップに移っていく。ネットワークや時刻の設定や、パッケージ管理の拡充、デスクトップ環境の整備など多岐にわたる。
システムの設定
ネットワークの管理
再起動後、まずはネットワーク接続を確認する。NetworkManagerが有効であれば、有線LANは自動で認識されるだろう。無線LANはnmtui を実行し、GUIベースのインターフェースでSSIDを選択してパスワードを入力すると楽である。
時刻同期の設定
パッケージ管理ツールの拡充
パッケージマネージャの最適化
必要であれば/etc/pacman.conf を編集し、ダウンロード速度の向上と視認性の改善を行う。設定後、 sudo pacman -Syuでデータベースを同期する。また、高速な国内ミラーを選択する。
sudo pacman -S reflector
sudo reflector --country Japan --protocol https --sort rate --save /etc/pacman.d/mirrorlistAURヘルパの導入
Arch User Repository (AUR) を利用するため、paru を導入する。
sudo pacman -S --needed base-devel git
mkdir sources & cd sources
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si日本語環境の構築
フォント
最低限、Noto Sans CJK JPをインストールする。
sudo pacman -S noto-fonts-cjk noto-fonts-emoji noto-fonts-extra開発用のフォントもいくつかインストールしておく。
paru -S ttf-plemoljp-bin ttf-hackgen日本語入力
入力メソッドフレームワークにはFcitx5を用いる。日本語IMEは一般的にはMozcを用いる。LLMを応用した先進的なIMEとしてHazkeyやKarukan を使うのも良いだろう。私は現在Hazkeyを利用している。
sudo pacman -S fcitx5-im~/.config/environment.d/im.confにXMODIFIERS=@im=fcitxを記述し、X Window System(X11)の標準的な入力プロトコルである XIM(X Input Method)を利用するアプリケーションに対し、Fcitxの使用を指定する。
Fcitx5でMacライクなIME切り替えをするための設定をする。
グラフィック環境
グラフィックドライバの導入
使用しているハードウェアに適したドライバをインストールする。Intel CPUの内蔵グラフィックスでは次のようになる。
sudo pacman -S mesa vulkan-intel
デスクトップ環境の構築
ディスプレイマネージャの設定
起動後にユーザを認証し、そのユーザのデスクトップセッションを開始するためのソフトウェアであり、これをディスプレイマネージャと呼ぶ。ここではgreetdを利用する。greetd自体はログイン画面を描画するものではなく、ユーザー認証とセッションの開始を管理するデーモンである。実際のログイン画面にはtuigreetを利用する。
sudo pacman -S greetd greetd-tuigreetgreetd の動作を規定する設定ファイルは /etc/greetd/config.toml であり、Niriを用いるのであれば、次の内容のようにする。
[default_session]
command = "tuigreet --time --remember --cmd niri-session"
user = "greeter"
任意のログインマネージャを無効化したのち、sudo systemctl enable greetdによって有効化する。
オーディオ
Linuxのデスクトップで音声を扱う場合、ハードウェアを認識するためのカーネルドライバだけでなく、アプリケーションとオーディオデバイスの間で音声を管理する仕組みが必要になる。ここではPipeWireを利用する。
PipeWireは、低遅延での音声・映像の再生およびキャプチャを目的としたマルチメディアフレームワークである。オーディオサーバーおよびビデオキャプチャサーバーとして機能する。
PipeWire自体は接続ロジックを持たず、WirePlumberなどの外部コンポーネントがストリームの管理と接続を担う。
sudo pacman -S pipewire pipewire-pulse wireplumbersystemdのユーザーユニットを使用してサービスを有効化・起動する。
systemctl --user enable --now pipewire.service pipewire-pulse.service wireplumber.serviceファームウェア
一部のPCでは、カーネルだけでは内蔵オーディオデバイスを正しく利用できず、追加のファームウェアが必要になる。DellのPCではオーディオデバイスが認識されなかったため、Sound Open FirmwareとALSA用の設定データを導入する。Linuxのサウンドまわりのデバイスが動かないときはsof-firmwareを入れておけ
sudo pacman -S sof-firmware alsa-ucm-conf周辺機能
Bluetooth
LinuxではBluetoothプロトコルスタックとしてBlueZが利用される。bluezがBluetooth機能本体を提供し、bluez-utilsにはbluetoothctlなど管理用のコマンドが含まれている。
# install
sudo pacman -S bluez bluez-utils
# check
lsmod | grep btusb
# activate
sudo systemctl enable --now bluetooth.service電源管理
もしサスペンドや充電の設定など行う場合は使用するハードウェアによって適切に設定する。
Inspiron14の電力管理
クラウドストレージ
Google Driveなどのクラウドストレージを通常のファイルシステムに近い形で扱いたい場合はrcloneを利用できる。
rcloneはGoogle Driveそのもののクライアントではなく、多数のクラウドストレージサービスに共通して接続できるファイル転送・マウントツールである。
rcloneでGoogle Driveをマウント
基本アプリケーション
ターミナルエミュレータは文字ベースの入出力を行うためのGUIを提供し、その内部でbashやzshなどのシェルが動作する。ターミナルエミュレータにはalacrittyを利用する。
シェルのデフォルトはzshに切り替える。フレームワークとしてOh My Zshをつかう。
sudo pacman -S alacrittyファイルマネージャ
コンソールではyaziを使う。グラフィカルなものについては依存が多いのは嫌だったのでThunarをつかっている。
sudo pacman -S yazi thunarブラウザ
Firefoxを利用している。
sudo pacman -S firefox-i18n-jaエディタやノート
コンソールではNeoVimを使う。たまにしか使わないので多くの環境で使うことのできるVimのほうがいいのかもしれないがストレスは少ないほうがよい。
グラフィカルなものはVisual Studio Codeを使う。
sudo pacman -S nvim obsidian
paru -S visual-studio-code-bin組版
Arch Linux 版では TeX Live が texlive-basic、texlive-latexextra、texlive-fontsextra などのパッケージに分割されている。特に texlive-fontsextra のようなパッケージは非常に大きく、TeX Live を一通り導入していると pacman -Syu の際に数百MB規模の TeX 関連アップデートがシステム更新へ頻繁に混ざることがある。それが嫌だったためTeX Live のネイティブインストールを行う。