ArchLinux4でデスクトップLinux環境の構築

# 記事について

ネットブックくらいのスペックのしょぼPCにCentOS7入れて使ってたら重かったので、[こちら](https://eng-entrance.com/linux-light)に紹介されている中でArchLinuxに挑戦してみた際の備忘録。
実施日の2017年12月22日時点での情報に基づいて記載する。

# 前提

- ArchLinux4.14.7-1
- [Dell Inspiron 11 3000 エントリー・プラス (価格.com限定)](http://kakaku.com/item/J0000018367/spec/#tab)
 - Intel Pentium® CPU N3700 @ 1.60GHz/4core Processor
 - 4GB Memory
 - 128GB SSD Strage 

# 参考

:ballot_box_with_check: [Arch Linuxインストール - 普段使いのArch Linux](http://archlinux-blogger.blogspot.jp/p/blog-page.html)
:ballot_box_with_check: [インストールガイド - ArchWiki](https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89)

# OS本体のインストール

## インストールメディアの作成

[ArchLinux JP Project](https://www.archlinux.jp/download/)からインストールイメージを入手し、インストールメディアを作成する。筆者の場合はUSBメディアで作成。

Macbookでイメージファイルを書き込む。
`/dev/disk2` や `/dev/rdisk2` のディスク番号は `diskutil list` と入力すれば確認できるので実施環境に合わせて置き換える。

```shell-session
$ hdiutil convert -format UDRW -o ~/Downloads/archlinux-2017.12.01-x86_64.img ~/Downloads/archlinux-2017.12.01-x86_64.img
$ mv ~/Downloads/archlinux-2017.12.01-x86_64.img.dmg ~/Downloads/archlinux-2017.12.01-x86_64.img
$ diskutil unMountDisk /dev/disk2
$ sudo dd if=~/Downloads/archlinux-2017.12.01-x86_64.img of=/dev/rdisk2 bs=1m
```

## インストールメディアで起動

作成したメディアでUSBブートする。
基本的にこちらの記事の流れに沿って実施。
:ballot_box_with_check: [Arch Linuxインストール （OSインストール編）| UEFI, GPT, XFSを使用してインストール - 普段使いのArch Linux](http://archlinux-blogger.blogspot.jp/2016/03/arch-linux-uefi-gpt-xfs.html)

まずはUEFI BIOSを参考記事に倣って設定する。
起動時のDELLのロゴが表示されている画面で <kbd>F2</kbd> キーを押す。

UEFI画面が表示されるので `SATA Mode` を `AHCI` に設定。 (筆者の場合最初から選択されてた)

![qiita1.jpg](https://qiita-image-store.s3.amazonaws.com/0/134107/900e4452-57ed-b27f-c63c-4693130b5ad7.jpeg)

`Boot List Option` を `UEFI` に設定。　(筆者の場合最初から選択されてた)
`Secure Boot` を `Disabled` に設定。
`Load Legacy Option Rom` を `Disabled` に設定。

![qiita2.jpg](https://qiita-image-store.s3.amazonaws.com/0/134107/0b2fb729-b8b3-c3b3-e61c-1b9cef5429e8.jpeg)

CMSモードに関する設定は、それらしい単語が見当たらなかったので、とりあえずこれで開始。
USB差込口にインストールメディアを差し込んで、<kbd>F10</kbd>　を押下。

再びDELLのロゴが表示されるので今回は <kbd>F12</kbd>　を押して Boot Option 画面に移行。

メニューが表示されるので、`USB1 - UEFI OS (<メディアのボリュームラベル？>)` を選択する。

![qiita3.jpg](https://qiita-image-store.s3.amazonaws.com/0/134107/e4a769d3-2b1c-0642-888e-93fdbed40482.jpeg)

プロンプトが表示されたら、記事にもある通りEFIモードの確認とキーボード配列の設定をする。

```shell-session
# ls /sys/firmware
apci dmi efi memmap
# loadkeys jp106
```

## 無線ネットワークの接続

本機では無線ネットワークインターフェースしか持っていないので、USBブート後に以下の記事を参考にネットワーク設定をする必要がある。
:ballot_box_with_check: [ワイヤレス設定 - ArchWiki](https://wiki.archlinux.jp/index.php/%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%AC%E3%82%B9%E8%A8%AD%E5%AE%9A)

PCに使われているNIC等によってはデバイスドライバやファームウェアを自分でインストールする必要がある様だが、幸い今回使用したマシンはその必要は無い。
環境に合わせて手探りで設定していく必要があるが、本記事では簡潔にしたいので前述の環境を前提とした設定に関する操作内容だけ記す。[^1]

筆者のネットワーク環境がWPA-PSKのWi-Fiを利用していたので、WPAの認証設定をファイルに記載する。

```:/etc/wpa_supplicant.conf
ctrl_interface=/run/wpa_supplicant
ctrl_interface_group=wheel
update_config=1
ap_scan=1

network={
  ssid="Your-SSID"
  psk="Your-PASSWORD"
}
```

ファイルが出来たら以下を実行。

```shell-session
# iw dev wlp1s0 set type ibss
# ip link set wlp1s0 up
# wpa_supplicant -D nl80211,wext -i wlp1s0 -c /etc/wpa_supplicant.conf
Successfully initialized wpa_supplicant
wlp1s0: SME: Trying to authenticate with c0:25:a2:49:0e:93 (SSID='Your-SSID' freq=5180 MHz)
wlp1s0: Trying to associate with c0:25:a2:49:0e:93 (SSID='Your-SSID' freq=5180 MHz)
wlp1s0: Associated with c0:25:a2:49:0e:93
wlp1s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
wlp1s0: WPA: Key negotiation completed with c0:25:a2:49:0e:93 [PTK=CCMP GTK=CCMP]
wlp1s0: CTRL-EVENT-CONNECTED - Connection to c0:25:a2:49:0e:93 completed [id=0 id_str=]
wlp1s0: CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=JP
```

成功したのが確認できたら、<kbd>Ctrl</kbd> + <kbd>C</kbd> で一旦終了し、以下でバックグラウンド実行させておく。

```shell-session
# wpa_supplicant -B -D nl80211,wext -i wlp1s0 -c /etc/wpa_supplicant.conf
```

DHCPからIPアドレスを取得し、`ping` で接続確認する。

```shell-session
# dhcpcd wlp1s0
DUID 00:01:00:01:21:cf:bc:ca:2c:6e:85:2f:46:35
wlp1s0: IAID 85:2f:46:35
wlp1s0: soliciting a DHCP lease
wlp1s0: offered 192.168.0.107 from 192.168.0.1
wlp1s0: probing address 192.168.0.107/24
wlp1s0: soliciting an IPv6 router
wlp1s0: leased 192.168.0.107 for 86400 seconds
wlp1s0: adding route to 192.168.0.0/24
wlp1s0: adding default route via 192.168.0.1
forked to background, child pid 649

# ping -c3 google.com
PING google.com (172.217.26.14) 56(84) bytes of data.
64 bytes from nrt20s02-in-f14.1e100.net (172.217.26.14): icmp_seq=1 ttl=52 time 6.80 ms
64 bytes from nrt20s02-in-f14.1e100.net (172.217.26.14): icmp_seq=2 ttl=52 time 112 ms
64 bytes from nrt20s02-in-f14.1e100.net (172.217.26.14): icmp_seq=3 ttl=52 time 6.04 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 6.047/41.862/112.733/50.114 ms
```

## ストレージの整備

ネットワーク設定が完了したら、再度こちらの記事に従う。
:ballot_box_with_check: [Arch Linuxインストール （OSインストール編）| UEFI, GPT, XFSを使用してインストール - 普段使いのArch Linux](http://archlinux-blogger.blogspot.jp/2016/03/arch-linux-uefi-gpt-xfs.html)

```shell-session
# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 409.5M  1 loop /run/archiso/sfs/airootfs
sda      8:0    0 119.2G  0 disk
├─sda1   8:1    0   200M  0 part
├─sda2   8:2    0     1G  0 part
└─sda3   8:3    0   118G  0 part
sdb      8:16   1   7.2G  0 disk
├─sdb1   8:17   1   516M  0 part /run/archiso/bootmnt
└─sdb2   8:18   1    64M  0 part
```

インストール先は `/dev/sda` として進める。
参考記事では512GBのストレージで記載されているので、128GBしか無い本機に合わせて以下のように内訳た。

| パーティション | フォーマット | 用途 | マウントポイント | サイズ |
|:---|:---|:---|:---|:---|
| /dev/sda1 | FAT32 | UEFI System Partition | /boot | 512MB |
| /dev/sda2 | swap | swap領域 | | 8GB |
| /dev/sda3 | XFS | rootディレクトリ | / | 32GB |
| /dev/sda4 | XFS | 一般ユーザーのhomeディレクトリ | /home | 残り |

`gdisk` で、自環境に合わせて以下の通りに設定。

```shell-session
# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries.

Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y

Command (? for help): n
Partition number (1-128, default 1):
First sector (34-250069646, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-250069646, default = 250069646) or {+-}size{KMGTP}: +512M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef00
Change type of partition to 'EFI System'

Command (? for help): n
Partition number (2-128, default 2):
First sector (34-250069646, default = 1050624) or {+-}size{KMGTP}:
Last sector (1050624-250069646, default = 250069646) or {+-}size{KMGTP}: +8G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Change type of partition to 'Linux swap'

Command (? for help): n
Partition number (3-128, default 3):
First sector (34-250069646, default = 17827840) or {+-}size{KMGTP}:
Last sector (17827840-250069646, default = 250069646) or {+-}size{KMGTP}: +32G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Change type of partition to 'Linux filesystem'

Command (? for help): n
Partition number (4-128, default 4):
First sector (34-250069646, default = 84936704) or {+-}size{KMGTP}:
Last sector (84936704-250069646, default = 250069646) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Change type of partition to 'Linux filesystem'

Command (? for help): w

Final checks comlete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.
```

筆者のケースではWarningメッセージに「カーネルが古いパーティションテーブル参照してるから再起動してからな」的なことが書いてあったので一旦落として再び電源を入れる。

```shell-session
# shutdown -h now
```

ドライブのフォーマットとマウントは参考記事の通り。

```shell-session
(各パーティションをそれぞれのファイルシステムでフォーマット)
# mkfs.fat -F32 /dev/sdX1
# mkswap /dev/sdX2
# swapon /dev/sdX2
# mkfs.xfs -m crc=1 /dev/sdX3
# mkfs.xfs -m crc=1 /dev/sdX4

(マウント)
# mount /dev/sdX3 /mnt
# mkdir /mnt/home /mnt/boot
# mount /dev/sdX4 /mnt/home
# mount /dev/sdX1 /mnt/boot
```

## インストール実施

以降も最後まで参考記事の通り。
ほぼ書き写しになってしまうがここでも簡潔に操作内容だけに端折って記載。

日本のサーバーを優先して参照するよう、ミラーリストを編集。

```:/etc/pacman.d/mirrorlist
##
## Arch Linux repository mirrorlist
## Sorted by mirror score from mirror status page
## Generated on 2017-12-01
##

## Japan
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
## Japan
Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch
...
...
...
```

ベースシステムをインストールして、fstab(ファイルシステムテーブル)をインストール先に作成。

```shell-session
# pacstrap /mnt base base-devel
# genfstab -U -p /mnt >> /mnt/etc/fstab
```

マシンストレージに `chroot` する。

```shell-session
# arch-chroot /mnt /bin/bash
```

各種設定ファイルを編集。

locale生成の準備。
`/etc/locale.gen` の `en_US.UTF-8 UTF-8` と `ja_JP.UTF-8 UTF-8` の行をコメントインする。

```:/etc/locale.gen
...
#en_SG ISO-8859-1  
en_US.UTF-8 UTF-8        <- コメントインする
#en_US ISO-8859-1  
...
#ja_JP.EUC-JP EUC-JP  
ja_JP.UTF-8 UTF-8        <- コメントインする
#ka_GE.UTF-8 UTF-8 
...
```

`/etc/hosts` にホスト名記載。`myarch` がそれにあたるので任意に置き換える。

```:/etc/hosts
#
# /etc/hosts: static lookup table for host names
#

127.0.0.1 localhost.localdomain localhost myarch
::1  localhost.localdomain localhost myarch
```

各種設定を実施。

```shell-session
(ホスト名設定)
# echo myarch > /etc/hostname

(ロケールの生成と設定)
# locale-gen
# echo 'LANG=en_US.UTF-8' > /etc/locale.conf
# export LANG=en_US.UTF-8

(キーマップ設定)
# loadkeys jp106
# echo 'KEYMAP=jp106' > /etc/vconsole.conf

(タイムゾーン設定)
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc --utc

(dhcpcdサービスを有効化)
# systemctl enable dhcpcd.service

(rootパスワード設定)
# passwd
```

pacmanで各種パッケージインストールとgrubの導入。

```shell-session
(パッケージインストール)
# pacman -Syy
# pacman -S intel-ucode
# pacman -S dosfstools efibootmgr

(ブートローダーgrubの導入)
# pacman -S grub
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck
# mkdir /boot/EFI/boot
# cp /boot/EFI/arch_grub/grubx64.efi /boot/EFI/boot/bootx64.efi
# grub-mkconfig -o /boot/grub/grub.cfg
```

要らないかもしれないけど、`iw` コマンドと `wpa_supplicant` もインストール。[^2]

```shell-session
# pacman -S iw wpa_supplicant
```

OS本体のインストールは一通り終わったので、マウント解除等して再起動。

```shell-session
# exit
# umount -R /mnt
# shutdown -h now
```

# デスクトップ環境の構築

OS本体がインストール出来たらステップ2として以下が用意されている。マジ親切。
:ballot_box_with_check: [Arch Linuxインストール (デスクトップ環境・日本語化編) | X, GNOME, 日本語フォント, 日本語入力の設定 - 普段使いのArch Linux](http://archlinux-blogger.blogspot.jp/2016/03/arch-linux-x-gnome.html)

## ネットワーク接続の設定

インストール時はインストールメディアのツールで無線ネットワークに手動接続していたので、`netctl` を利用して起動したら接続するよう以下を参考に設定する。
:ballot_box_with_check: [netctl - ArchWiki](https://wiki.archlinux.jp/index.php/Netctl#Job_for_netctl.40wlan.28....29.service_failed)

```shell-session
# cp /etc/netctl/examples/wireless-wpa /etc/netctl/
```

コピーしたプロファイルを編集する。

```:/etc/netctl/wireless-wpa
Description='A simple WPA encrypted wireless connection'
Interface=wlp1s0
Connection=wireless
Security=wpa
IP=dhcp
ESSID=Your-SSID
Key=\"82d9a7fe6a2ad4edffad767cc3e6a5f5031ea5586e3ed54ad85856dc67e98133
```

最後の `Key` は `wpa_passphrase` を利用してパスワードを暗号化する。

```shell-session
# wpa_passphrase Your-SSID Your-PASSWORD
network={
  ssid="Your-SSID"
  #psk="Your-PASSWORD"
  psk=82d9a7fe6a2ad4edffad767cc3e6a5f5031ea5586e3ed54ad85856dc67e98133
}
```

出力されたテキストの `psk=` に続く英数字列を、プロファイルの `Key=\"` の後に続けて記載する。

プロファイルが出来たら接続を試してみる。

```shell-session
# ip link set wlp1s0 down (インターフェースが立ち上がっている場合はdownさせる)
# netctl start wireless-wpa
```

IPアドレスが取得できるまでに数秒程度待つ必要があるが、これで `ping` が通ればプロファイルは問題無いので、以下の通り自動接続を有効にする。
うまく行かなかった場合は[こちら](https://wiki.archlinux.jp/index.php/Netctl#.E3.83.88.E3.83.A9.E3.83.96.E3.83.AB.E3.82.B7.E3.83.A5.E3.83.BC.E3.83.86.E3.82.A3.E3.83.B3.E3.82.B0)を参照。

```shell-session
# netctl enable wireless-wpa
```

## デスクトップ環境の導入

Wi-Fi接続できたら、あとは基本的に最後まで参考記事に従って作業する。
:ballot_box_with_check: [Arch Linuxインストール (デスクトップ環境・日本語化編) | X, GNOME, 日本語フォント, 日本語入力の設定 - 普段使いのArch Linux](http://archlinux-blogger.blogspot.jp/2016/03/arch-linux-x-gnome.html)

ただし、トップバーにFcitxを統合するTopIconsのインストールする際にFirefoxでWebページにアクセスするよう紹介されているが、筆者が試した際にはFirefoxの拡張機能であるGNOME Shell Integrationが検出できないと表示され、促されたリンク先のドキュメントでGoogle Chrome使え的なことが書かれており、個人的にもその方が望ましいと思ったのでその手順を後述する。

## Google Chrome の導入

```shell-session
$ packer -S google-chrome
```

こんだけっす。

TopIconsの導入は参考記事にあるWebページへChromeでアクセスして、Firefoxを例に紹介されている内容と同様の操作をすれば勝手に入れてくれる。

## Google Noto フォントの導入

参考記事にはIPAフォント導入の際にGoogleのNotoフォントも推奨されていたので、試しに入れてみたところだいぶ見違えたので手順を記す。

### フォントパッケージのインストール

:ballot_box_with_check: [Google Notoフォント（源ノ明朝、源ノ角ゴシック）をインストールして使ってみる - 普段使いのArch Linux](http://archlinux-blogger.blogspot.jp/2017/04/google-noto.html)
上記を参考に進めるも、`noto-fonts-cjk-otf` パッケージは筆者が導入した際には1.6GBあり、packerでインストールすると1.9GBしか無い `/tmp` にダウンロードしてさらに展開してしまい容量が溢れてエラー終了してしまったので、yaourtで入れた。

特に上記問題を気にしなくて良い環境であれば、参考記事の通りにすれば入るはず。

> fstabに以下のように指定するとtmpfs領域を拡張できるようなのでメモリが十分な環境であればこれでも良いかもしれません。筆者の場合は、3GBに拡張したところ足りず、3.7GB指定するとOSが立ち上がらなくなりました:expressionless:
>
```:/etc/fstab
...
...
...
tmpfs /tmp tmpfs nodev,nosuid,size=3G 0 0
```

yaourtのダウンロード先を `/etc/yaourtrc` で任意のディレクトリに変更できるので、以下のように編集。
yaourtやpacker等のAURヘルパーはrootでは起動できないように制御されている様なので、インストールを実行する一般ユーザーがアクセスできてかつ十分な空きサイズのあるパーティション内のディレクトリパスを指定する。

```:/etc/yaourtrc
...
TMPDIR="/home/genericuser/Downloads/tmp"
...
```

編集が完了したら、一般ユーザーで以下を実施。

```shell-session
$ yaourt -S --noconfirm noto-fonts-cjk-otf
```

終わったら `/etc/yaourtrc` の内容を元に戻しておく。

また、Notoフォントの等幅体は参考先でも行間が広いとあり、確かにターミナルフォントに使うと微妙だったので、源ノ角ゴシックを調整したNasuフォントが公開されていて、AURにあったのでそちらを導入。
:link: [Nasuフォント - itouhiroはてなブログ](http://itouhiro.hatenablog.com/entry/20140917/font)

```shell-session
$ packer -S --noedit ttf-nasu
```

### Fontconfigを書く

参考記事にもある通り、インストールしただけでは反映されないようなので、以下あたりを参考に `~/.config/fontconfig/fonts.conf` を作成して編集する。
:ballot_box_with_check: [Fontconfigでデフォルトのフォントを設定する方法 - 普段使いのArch Linux](http://archlinux-blogger.blogspot.jp/2017/04/fontconfig.html)
:ballot_box_with_check: [Fontconfigことはじめ - TechRacho](https://techracho.bpsinc.jp/baba/2014_01_27/15236)

```xml:~/.config/fontconfig/fonts.conf
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
 <match target="pattern">
   <test qual="any" name="family"><string>sans-serif</string></test>
   <edit name="family" mode="prepend" binding="same"><string>Noto Sans CJK JP</string>  </edit>
 </match>
 <match target="pattern">
   <test qual="any" name="family"><string>serif</string></test>
   <edit name="family" mode="prepend" binding="same"><string>Noto Serif CJK JP</string>  </edit>
 </match>
 <match target="pattern">
   <test qual="any" name="family"><string>monospace</string></test>
   <edit name="family" mode="prepend" binding="same"><string>NasuM</string>  </edit>
 </match>
</fontconfig>
```

編集が終わったら以下で反映させる。

```shell-session
$ fc-cache
```

## ネットワークマネージャーを有効化

トップメニューの**アクティビティ→設定→Wi-Fi**でWi-Fiネットワークの管理ができる様なので、netctlで自動接続させていたのをネットワークマネージャーに移管させる。[^3]

netctlの接続を切って、自動接続も無効化。

```shell-session
# netctl stop wireless-wpa
# netctl disable wireless-wpa
```

NetworkManagerを起動する。

```shell-session
# systemctl start NetworkManager.service
```

トップメニューの**アクティビティ→設定→Wi-Fi**で正しく設定できたらサービスを有効化しておく。

```shell-session
# systemctl enable NetworkManager.service
```

ステップ3は用途や好みに依るところが大きいのでスキップ。

# 仕上がり

こんな感じです。

![Screenshot from 2017-12-26 17-04-29.png](https://qiita-image-store.s3.amazonaws.com/0/134107/23cca965-d034-861e-589e-16d4e47f603c.png)

![Screenshot from 2017-12-26 17-06-02.png](https://qiita-image-store.s3.amazonaws.com/0/134107/1f8b8c77-a0a2-ea84-8ac7-829715523d52.png)

フォントきれいって言ってもMac+Retinaには敵わないけど、軽量Liunxのデスクトップ環境でここまでなるなら個人的には満足。
CentOS7と比べて軽いのかはわからない。特に問題も不満もないけどクリーンインストールしたばかりだからかもしれない。

# 所感

デスクトップ環境はおまけでいいやくらいの気持ちでやってみたら、思った以上に上質な環境[^4]が出来上がってじわじわ楽しくなって、時間も本来の目的も昼飯も就寝時間のデッドラインもHORIZON Zero Dawnを進めるのもクリスマスも忘れて没頭してしまった。

公式ドキュメントが豊富でJP Projectの日本語サポートもかなりしっかりしているので、ハードルは高くても手探り感を楽しみながら取り組めたし運用しても楽しそうなので、デスクトップLinuxをちゃんと運用してみる良いきっかけかも！(先月買ったMacbookを見つめながら)


[^1]: 手探りの仕方はArchWikiを直接見た方がわかりやすいのでそちらにお任せ

[^2]: 今まで利用してきた `iw` コマンドや `wpa_supplicant` はインストールメディア内のものなのでマシンにインストールしたOSで起動するとこれらが無い。`iw` などは便利そうなので無線環境しか無い本機では入れておいても良さそう

[^3]: OSインストール後の時点でNetwork Managerに任せても良いのかもしれないけど、XとGNOME入れるまでGUIも無いので本記事としてはこのタイミングで記す

[^4]: フォントの綺麗さに依るところが大きい気がしますが