ArchLinux インストール後に行うセットアップまとめ

目次

ネットワーク管理ソフトウェア

ネットワークの管理 (接続構成の保存、切り替え) を行う。

NetworkManager

sudo pacman -S  networkmanager
sudo systemctl enable NetworkManager 
sudo systemctl start NetworkManager 
nmtui

NetworkManagerは Linux のネットワーク構成管理ツール。 networkmanaerパッケージをインストールして、サービスを有効化している。 使用方法にはコマンドラインベースの nmcliテキストユーザインタフェース(TUI)による nmtui がある。ここでは TUI で設定を行っている。

Connman

sudo pacman -C connman
sudo systemctl enable connman.service
sudo systemctl start connman.service
connmanctl technologies | awk '/Type/ { print $NF }'
p2p
wifi
ethernet
bluetooth

ConnManConnMan はコマンドラインベースのネットワーク管理ソフトウェア。コマンドラインを実行する connmanctl で対応するテクノロジー (接続方法) を確認している。

connmanctl enable wifi
connmanctl scan wifi
connmanctl services | grep <SSID>

もし connmanctl technologies の実行結果の Typewifi となっている項目の PowerdTrue ではなかった時は enable で タイプを指定することでその接続方法を有効にすることができる。無線 LAN の接続を管理するには scan コマンドで周りの Wi-Fi ネットワークを探する。scan を実行したあとで services により利用可能なアクセスポイントの一覧が取得できるのでそこから接続する <SSID>の一行を取り出している。

AO MyNetwork                wifi_dc85de828967_68756773616d_managed_psk
connmanctl
connmanctl> scan wifi
connmanctl> services
*AO MyNetwork               wifi_dc85de828967_68756773616d_managed_psk
<snip...>
connmanctl> agent on
connmanctl> connect wifi_dc85de828967_38303944616e69656c73_managed_psk
Agent RequestInput wifi_dc85de828967_38303944616e69656c73_managed_psk
  Passphrase = [ Type=psk, Requirement=mandatory ]
  Passphrase?  
connmanctl> quit

connmanctl を実行して対話式にコマンドを実行する。まず scan wifi でネットワークの接続を確認し services でネットワークを確認する。そして agent on でリクエストを送信するためのエージェントを登録実行し、接続するネットワークを connect wifi_dc85d.... で指定する。タブ補完が有効になっているので wifi_ まで入力してタブを押すことで候補となるネットワークが自動的に補完されて表示される。リターンキーでエージェントがネットワークの情報を表示してからPassphrase? でパスワードの入力待ちの状態になる。そこで <passphrase> を入力し最後に quit で対話形式のモードを終了する。
入力された情報が正しければ保護されたネットワークに接続できている状態になる。

less /var/lib/connman/wifi_dc85de828967_38303944616e69656c73_managed_psk/settings

設定情報は/var/lib/connman 以下の設定名のディレクトリに保存されている。

AUR クライアント

pakku

sudo pacman -S git
git clone https://aur.archlinux.org/pakku.git && cd pakku
makepkg

pacmanAUR (Arch User Repogitory)2 対応のツールとして pakku をビルド・インストールする。

pakku は AUR に対応した pacman ラッパー。AUR にパッケージが見つからない場合は pacman を内部的に実行するので Arch のパッケージと AUR に対して透過的に操作をすることができる。

make に必要な nim コマンドがない場合 pacman -S nim でインストールすることができるが、nim のバージョンが > 1.2 の場合 Error: undeclared identifier: 'lc' に遭遇することがある。そのときは以下のワークアラウンドがある。(pakku/#comment-737545)

# With the new Nim 1.2 I am getting:
# /tmp/pakku/src/pakku-0.14/src/args.nim(108, 15) Error: undeclared identifier: 'lc'
# Worked around by installing Nim 1.0.6
pacman -U https://archive.archlinux.org/packages/n/nim/nim-1.0.6-1-x86_64.pkg.tar.zst

X 環境

pakku -S xorg xf86-video-intel 

pakku で X 環境を構築するために以下のパッケージ(またはパッケージグループ)をインストールする。

  • xf86-video-intel
    • X の実行には Linux カーネルによるドライバやハードウェア制御だけでは足りない部分3がある。そためグラフィックカードの種類にあわせて必要なドライバをインストールする必要がある。 lspci -v | grep -A1 -e VGA -e 3Dで以下の結果を得ることから必要なドライバーが分かる(Xorg 記載の手順より)。
      00:02.0 VGA compatible controller: Intel Corporation HD Graphics 510 (rev 07) (prog-if 00 [VGA controller])
       Subsystem: Lenovo Device 609c
      

ウィンドウマネージャー

i3wm

pakku -S i3-wm rxvt-unicode

pakku で ウィンドウマネージャー と X 端末アプリケーションをインストールする。

Xinit

pakku -S xorg-xinit

X を起動するための xinit をインストールする。 ~/.xnitrc に X 起動時の環境設定を記載して、startx で X を起動する。 後述のディスプレイマネージャーをインストールする場合は不要である。

cat << 'END' >> ~/.xinitrc
exec i3
END

~/.xnitrc に 起動する ウィンドウマネージャーを記述しておく。

インプットメソッド

以下、IBus、Fctixのインストールを説明するが、どちらか好みのものを選べばよい。

IBus

pakku -S ibus ibus-skk

インプットメソッドフレームワークとして IBus5, インプットメソッド6SKK をインストールする。

IBus の設定

ibus-setup

IBus の設定を行う。GUI ダイアログが表示されるので “Input Mesthd (入力メソッド)” で “SKK” を追加し,その他の入力メソッドが表示されているときは削除する。

IBus のための環境変数

cat << END >> ~/.xprofile
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx
END

IBus の導入 のために ~/.xprofile に必要な変数を設定している。
Xorg のアプリケーションのユーザー毎の設定は xprofile に記述する(環境変数#グラフィカルアプリケーション)。 また,xprofile には,X 開始時の実行コマンドも書けるので,ibus-daemon -drx により iBus デーモンを起動している。

Fcitx5

pakku -S fcitx5-im fcitx5-skk

インプットメソッドフレームワークとして Fcitx5、インプットメソッドはskk をインストールする。 インストール後設定を行うには、fcitx5-configtool を実行する。

Fcitx5 の環境設定

echo << 'END' >> ~/.xinitrc
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
END

ディスプレイマネージャー

ディスプレイマネージャーは、XinitをインストールしてstartxでXを起動する場合は不要である。

LightDM

pakku -S lightdm lightdm-gtk-greeter

ディスプレイマネージャー として LightDM をインストールする。7

LightDM を利用するには Greeter が必要になる。Greeter は GUI でユーザのログイン情報を入力を待ち受けてくれる。またセッションの選択も可能にしてくれる。

Greeter なしで LightDM を使う場合は,設定ファイル /etc/lightdm/lightdm.conf自動ログインを有効にする必要がある。

Greeterにはいろいろ種類がある8がデフォルトの lightdm-gtk-greeter をインストールしている。

lightdm --test-mode --debug

LightDM をテストする。コマンドを実行すると,X のアプリケーションが起動しログイン画面のテストが実行される。

sudo sysytemctl enable lightdm.service

LightDM のサービスを有効にする。

reboot

マシンを再起動する。起動するとLightDM の Greeter が GUI のログイン画面を起動してくれる。


  1. ディスプレイマネージャーをインストールするときは xinit は不要。 ↩︎

  2. コミュニティによって運営されているリポジリでパッケージの詳細(PKGBUILD)がまとめ置かれており,ソースからコンパイルしたパッケージを pacman を使ってインストールすることができる。”(AUR からの引用) ↩︎

  3. カーネルに含まれるドライバやハードウェアアクセレートされたフレームバッファ以外に,X11 内で利用している OpenGL や 2D acceleration のために,userland に対応する必要があるため(Xorg 記載の手順↩︎

  4. (terminal-emulatorによる紹介より) 他にも Perl 言語による拡張や,タブ化,URL 起動,ドロップダウンモード,疑似的ウィンドウ透過に対応している。 ↩︎

  5. インプットメソッドは “IME (input method editor) とも呼ばれ,通常キーボードのキー数よりも多くの文字(書記素)を持つ言語のために,入力された値を変換するプログラム” (インプットメソッドからの引用を意訳) で,インプットフレームワークは複数のインプットメソッドを切替えるためのアプリケーション。 ↩︎

  6. インプットメソッドはキーボードからの入力から日本語などの文字を入力するために変換を行うプログラムのこと。 ↩︎

  7. ディスプレイマネージャは,GUI による ログインを提供するため,X の起動を行う。別に手動で X 実行するプログラムの xinit があるが手動でXを起動する必要がない限りインストールしなくてもかまわない。 ↩︎

  8. 種類を調べるには、 https://archlinux.org/packages/?sort=&q=greeter で検索するとよい。 ↩︎