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
の実行結果の Type
が wifi
となっている項目の Powerd
が True
ではなかった時は 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
pacman の AUR (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 環境を構築するために以下のパッケージ(またはパッケージグループ)をインストールする。
- xorg
- windowing system のひとつ X Window System の Xorg である xorg-server とその関連パッケージグループの xorg-apps から必要なパッケージを同梱したパッケージグループ。
- 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
- X の実行には Linux カーネルによるドライバやハードウェア制御だけでは足りない部分3がある。そためグラフィックカードの種類にあわせて必要なドライバをインストールする必要がある。
ウィンドウマネージャー
i3wm
pakku -S i3-wm rxvt-unicode
pakku で ウィンドウマネージャー と X 端末アプリケーションをインストールする。
- i3
- タイル型ウィンドウマネージャーのウィンドウマネージャーのひとつ。
- rxvt-unicode
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, インプットメソッド6 は SKK をインストールする。
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 のログイン画面を起動してくれる。
-
ディスプレイマネージャーをインストールするときは xinit は不要。 ↩︎
-
“コミュニティによって運営されているリポジリでパッケージの詳細(PKGBUILD)がまとめ置かれており,ソースからコンパイルしたパッケージを pacman を使ってインストールすることができる。”(AUR からの引用) ↩︎
-
カーネルに含まれるドライバやハードウェアアクセレートされたフレームバッファ以外に,X11 内で利用している OpenGL や 2D acceleration のために,userland に対応する必要があるため(Xorg 記載の手順) ↩︎
-
(terminal-emulatorによる紹介より) 他にも Perl 言語による拡張や,タブ化,URL 起動,ドロップダウンモード,疑似的ウィンドウ透過に対応している。 ↩︎
-
インプットメソッドは “IME (input method editor) とも呼ばれ,通常キーボードのキー数よりも多くの文字(書記素)を持つ言語のために,入力された値を変換するプログラム” (インプットメソッドからの引用を意訳) で,インプットフレームワークは複数のインプットメソッドを切替えるためのアプリケーション。 ↩︎
-
ディスプレイマネージャは,GUI による ログインを提供するため,X の起動を行う。別に手動で X 実行するプログラムの xinit があるが手動でXを起動する必要がない限りインストールしなくてもかまわない。 ↩︎
-
種類を調べるには、 https://archlinux.org/packages/?sort=&q=greeter で検索するとよい。 ↩︎