2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Arch LinuxでXfce+i3wm環境を作ろう(インストールと設定)

Last updated at Posted at 2024-11-11

Arch LinuxでXfce+i3wm環境を作る方法を解説します。
やり方をすべて網羅しているサイトが見つからなかったので自分で作ることにしました。

isoのダウンロード

公式サイトから日本のミラーを選択してisoをダウンロードします。
(ファイル名の例:archlinux-2024.11.01-x86_64.iso)
必要ならチェックサムを計算します。任意。

USBの作成

WindowsならRufus、MacならRaspberry Pi Imagerが楽で良いです。

起動

可能ならUEFIで起動しましょう。PCの設定を弄ってください。
自分はUEFI環境にインストールしましたが、BIOS環境ではパーティション・ブートローダーあたりの設定が異なるので適宜他の記事も参考にしてください。
(ちなみに、私の環境ではArch LinuxのインストールUSBがBIOSモードで起動したんですが、インストール後の環境はなぜかUEFIで運用できています。よく分かりません。有識者の方教えてください。)
普通にUEFI環境が使える方は気にする必要はありません。

ライブ環境を設定する

キーボードを設定します

loadkeys jp106

Wi-Fi接続をします。デスクトップの場合はLANケーブルを繋げば特にやることはありません。

iwctl

以下を入力します。

device list

ここで表示された無線LANデバイス名をdeviceNameとします。

station deviceName scan
station deviceName get-networks

ここで表示されたアクセスポイントの名前をWifiNameとします。

station deviceName connect WifiName

exitでiwctlから抜けます。
これでWi-Fiの設定は終わりです。ネットに繋がっているかpingで確認しましょう。

ping google.com

(PingはControl+Cで終了)

システムクロックを以下のコマンドで合わせます。

timedatectl set-ntp true

パーティション分け

デュアルブート環境の場合はミスったら簡単に環境が吹き飛んでしまうのでよく調べましょう。怖いなら物理的にディスクを分けるのも良い手です。

以下のコマンドでディスクの名前を確認します。

lsblk

sdaにインストールすると仮定します。

cgdisk /dev/sda

VirtualBox_arch_11_11_2024_02_49_24.png
いらないパーティションをdeleteで消します。

EFIパーティション

freespaceを選択し,Newを押す
そのままEnter
+512Mを入力 (始めから512MiB)
ef00を入力
名前を入力(ここでは"EFI")

rootパーティション

freespaceを選択し,Newを押す
そのままEnter
-3Gを入力 (終わりから3GiB)
そのままEnter
名前を入力(ここでは"ROOT")

swapパーティション

freespaceを選択し,Newを押す
そのままEnter
そのままEnter
8200を入力
名前を入力(ここでは"swap")

↓こうなればOK
VirtualBox_arch2_11_11_2024_03_08_22.png

Writeを選択して変更を確定させた後、Quitで終了します。

フォーマット

もう一度lsblkでパーティションを確認します。

lsblk

EFIパーティション(ここではsda1)をフォーマットします。

mkfs.fat -F32 /dev/sda1

ROOTパーティション(ここではsda2)をフォーマットします。
Btrfsはext4に代わるなんか新しいやつらしいです。

mkfs.btrfs /dev/sda2

swapパーティション(ここではsda3)をフォーマットします。

mkswap /dev/sda3

マウント

rootパーティションをマウントします。必要に応じてまたlsblkで確認します。

mount /dev/sda2 /mnt

/mnt/bootを作成し,EFIパーティションをマウントします。

mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

swapを起動します。

swapon /dev/sda3

システムのインストール

さて、ここまででもう嫌気が差しましたがいよいよ本体をインストールします。

ミラーを選択します。

reflector --country Japan --age 12 --protocol http,https --sort rate --save /etc/pacman.d/mirrorlist

pacstrapコマンドで"Arch Linux"本体を形成します。
Arch Linuxのインストールではこれを手動で行う必要があり面倒ですが、一番Linuxについて勉強になる部分だと思います。

余談ですがWindowsとかと違いLinuxにはchrootという便利なものがあります。
例えばdebootstrapでDebian環境を作りchrootすれば「Arch Linux上でDebianのパッケージ管理ツールであるaptを使う」なんてこともできてしまいます。
また、既存のisoからsquashfsを抽出しchrootで(isoは起動せずとも)中身に変更を加え、再度squashfsをisoに戻すことでオリジナルディストリビューションを作ることもできます。(同じパッケージに同じ.configを用意すれば簡単に同じ環境を再現できる)
例えば日本のNN Linux等はこういった方法で作成されていると思います。
Arch Linuxの場合はarchisoでビルドされているのですが(公式も)、こういった手動での編集も可能なのです。

pacstrapで必須の linux linux-firmware base パッケージと、パッケージのビルドに必要な base-devel パッケージグループをインストールします。また、パッケージ管理に便利な pacman-contrib もインストールします。
nano や neovim など好みのテキストエディタも追加でインストールしましょう。

pacstrap /mnt linux linux-firmware base base-devel pacman-contrib nano

システムの設定

fastabを設定します。

genfstab -U /mnt >> /mnt/etc/fstab

pacstrapでインストールしたArch Linuxの中にchrootします。
これにより/mntがルートディレクトリになります。

arch-chroot /mnt

タイムゾーンをTokyoに設定します。

ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

ハードウェアクロックを設定します。

hwclock --systohc

ローカライゼーション

/etc/locale.gen の 「en-US.UTF-8」 と 「ja_JP.UTF-8」 の行の#を消してコメントを解除します。
nanoで編集します。

nano /etc/locale.gen

コメントを解除したらlocale-genでロケールを生成します。

locale-gen

使用するロケールを /etc/locale.conf に書き込みます。

echo LANG=en_US.UTF-8 > /etc/locale.conf

日本語配列のキーボードを使用している場合はコンソールキーマップを設定します。

echo KEYMAP=jp106 > /etc/vconsole.conf

コンピュータ名の設定

コンピュータ名を設定します。(ここではarch)
好きな名前で良いです。
決められないときは「OS名+PCやCPUの名前」で良いでしょう。

echo arch > /etc/hostname

この名前を /etc/hosts にも書き込みます。

nano /etc/hosts
127.0.0.1 localhost
::1       localhost
127.0.0.1 arch.localdomain arch

ネットワーク設定

現在のライブ環境とは異なりインストールされたシステムではネットワーク接続自体が有効になっていません。

pacman -S networkmanager wpa_supplicant dialog iw iwd dhcpcd netctl

networkmanagerが起動時に立ち上がるようにします。

systemctl enable NetworkManager

パスワード

rootアカウントのパスワードを設定します。

passwd

ブートローダーの設定

systemd-bootを使います。

bootctl --path=/boot install

/boot/loader/loader.confを弄ります。

nano /boot/loader/loader.conf
default arch
timeout 2
editor  no

arch エントリを /boot/loader/entries/arch.conf に作成します。
(お使いの環境に応じてsda2をrootパーティションの値に置き換えてください)

blkid -s PARTUUID /dev/sda2 > /boot/loader/entries/arch.conf
nano /boot/loader/entries/arch.conf
title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root=PARTUUID=********-****-****-****-************ rw

AMD の CPU を使用している場合は /intel-ucode.img を /amd-ucode.img に変更してください。
またPARTUUIDのダブルクオーテーションは要らないので外しましょう。

Intelの場合は intel-ucode を、 AMDの場合は amd-ucodeをインストールします。

pacman -S intel-ucode

再起動

exitコマンドでchroot環境から抜け、rebootコマンドで再起動します。
長かったですがArch Linux本体のインストールはここで終了です。お疲れ様でした!

起動とログイン

正しくインストールできていると以下の画面が出ます。
VirtualBox_arch2_11_11_2024_22_29_53.png
rootと打ってログインしましょう。

ネット関連の設定をします。

nmtui

activate a connectionを選択してWi-Fiに接続してください。

また、念の為pacmanでパッケージのアップグレードをしておきましょう。

pacman -Syu

一般ユーザーの作成

rootのまま作業を続けるのは好ましくないので、一般ユーザーを作成します。
ここではユーザー名はarch-userとしていますが、好きな名前で構いません。

useradd -mg wheel arch-user

一般ユーザーのパスワードを設定します。

passwd arch-user

wheelグループのユーザーがsudoコマンドを使用して一時的に特権を得られるように設定を変更します。
以下のコマンドを打った後、「%wheel ALL=(ALL:ALL) NOPASSWD: ALL」という行を探してコメントアウトします。

EDITOR=nano visudo

logoutコマンドでrootからログアウトし、先程作成した一般ユーザーでログインしましょう。

logout

AURヘルパーのインストール

AURヘルパーをインストールします。
AURとはArch User Repositoryの略で、AURヘルパーを用いると公式リポジトリにないパッケージのビルドとインストールがコマンド一つでできます。Arch Linuxの一番便利なところです!

yayが好きなのでyayをインストールします。

sudo pacman -S git go
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

homeディレクトリに戻ります。

cd ~

zshのインストール

bashはいやなのでzshを入れます!
yayでzshをインストールします

(yayにはsudoをつける必要がありません)

yay -S zsh

ログインシェルをzshに変更します。

chsh -s $(which zsh)

zshの設定を書きます。

nano ~/.zshrc

以下を記述します。

autoload -Uz compinit promptinit
compinit
promptinit

export EDITOR=nano

ログインシェルを手動で起動します。

exec zsh -l

pacman の出力をカラー化します。
「Color」と書いてある行を探してコメントアウトします。

sudoedit /etc/pacman.conf

GUI環境のインストール

ディスプレイサーバーをインストールします。

yay -S xorg-server

グラフィックドライバのインストール

私の環境では特に必要ないので割愛しますが、必要な場合は適宜調べてください。

フォントのインストール

Google Noto Fontsをインストールします。

yay -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra

ディスプレイマネージャのインストール

ディスプレイマネージャとはログイン画面とウィンドウマネージャの起動を担うソフトウェアです。

yay -S lightdm lightdm-gtk-greeter

以下のコマンドでLightDMを有効化します。

sudo systemctl enable lightdm

デスクトップ環境とウィンドウマネージャのインストール

ここからが醍醐味です。本記事ではXfce+i3wmというかなり尖った構成にしていきます。

まずXfceをインストールします。

sudo pacman -S xfce4 xfce4-goodies

続いてi3wmを入れちゃいます。
(i3wmを入れる時はi3statusとか余計なアドオンは不要です)

yay -S i3

picomとrofi、fehをインストールします。
ついでにxarchiverも入れます。

sudo pacman -S picom rofi xarchiver feh

後で必要になるのでブラウザを入れます。

yay -S google-chrome

キーボードとロケールの設定

Xorgでのキーボードレイアウトを設定します。

sudo localectl set-x11-keymap jp

システム全体のロケールを日本語へ変更します。
「LANG=en_US.UTF-8」をコメントアウトして「LANG=ja_JP.UTF-8」を追記します。

sudoedit /etc/locale.conf

さて、ここで再起動です。

sudo reboot

GUI環境を起動

起動するとこういう画面になります。
右上からXfceを選択して起動します。
VirtualBox_arch2_12_11_2024_05_32_00.png

本題です。i3wmをXfceに統合していきましょう。

設定から「セッションと起動」を開いてxfwm4とxfdesktopを「しない」に変更します。
その後「セッションを保存」をクリックします。
VirtualBox_arch2_12_11_2024_05_39_23.png

次に「自動開始アプリケーション」を開きます。
i3を自動起動アプリケーションに追加してください。
(名前もコマンドも「i3」)
VirtualBox_arch2_12_11_2024_05_42_18.png

Xfceのキーボードショートカットをすべて削除します。
VirtualBox_arch2_12_11_2024_05_45_19.png

さて、本来はi3wmやrofi、picomの設定をする必要があるのですが、自力で1からやるのはめんどくさいです。(←経験者)
というわけで、予めすごい人が作った設定ファイルを移植して無理やり動かすことにしましょう。
(Linuxのソフトウェアの設定ファイルは基本的にホームディレクトリと「~/.config」の中の2箇所にあります。同じパッケージに同じ設定ファイルがあれば簡単に環境を移植できます。)
Archmageというディストリビューションがあります。そのソースコードを拝借してきましょう。
airootfs/home/liveuser以下のディレクトリのファイルを、すべて自分のホームディレクトリにコピペします。普通にまるごとコピペするだけでいいと思います。
途中ファイルを置き換えるか否か訊かれますが、全て置き換えてください。

終わったら再起動します。

sudo reboot

再起動したらXfce+i3wmの環境ができているはずです。(いよいよ)

細々とした設定

スクリーンロッカーをインストールします。

yay -S light-locker

ログイン時に自動起動するようにします。
.xprofileに「light-locker --lock-on-suspend &」と追記します。

nano ~/.xprofile

おなじみFcitxとMozcをインストールします。

yay -S fcitx fcitx-mozc fcitx-im fcitx-configtool

これも.xprofileに記述します。

nano ~/.xprofile

↓以下の文章を書きます
ーーーーーーーーーーーーーーーー
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
fcitx
ーーーーーーーーーーーーーーーー

仕上げに、サウンドに必要なPluseAudioと、パネルから音量を管理するのに必要なpavucontrolをインストールします

yay -S pulseaudio pavucontrol

これで基礎的なソフトウェアのインストールは本当に本当に終わりです。お疲れ様でした!

Optionalな設定

・マウスを自動的に非表示にするツールのunclutterをインストール

sudo pacman -S unclutter

i3の時と同じように、xfceでログイン時に自動起動するように設定をします

・Powerlineをインストール
(後で書きます)

参考文献

参考文献の作者様に感謝申し上げます。
https://blog.livewing.net/install-arch-linux-2021
https://qiita.com/Hayatann/items/09c2fee81fcb88d365c8
https://zenn.dev/imzrust/articles/28f8f5babd23ed
https://forum.endeavouros.com/t/tutorial-easy-setup-endeavour-xfce-i3-tiling-window-manager/13171

†Arch Linux† 沼をenjoyしよう!

(Arch Linuxというかi3wm)使うと普通のWindowsとかMacOSには戻れなくなります

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?