EndeavourOS(Arch Linux)+Sway(Wayland)インストール備忘録(随時更新予定)
はじめに
Arch Linuxとタイル型ウインドウマネージャーを試してみたく、EndeavourOSとSwayの組み合わせで古いPCにインストールしてみたのだが、やはり一筋縄ではいかなかったので備忘録。
※とは言っても、大昔と比べればLinuxディストロのセットアップは本当に楽になった。
インストール環境
EndeavourOS:2024-6-24のISO
CPU:corei3-2125(その後ivy-bridgeのcore-i7に変更)
メモリ:DDR3 24MB(82+42)
グラボ:GTX750Ti(玄人志向)
OS&WMインストール
入力
capsをctrlに変更
input * {
xkb_options ctrl:nocaps
}sudo systemctl enable --now input-remapper
日本語入力
fcitx5とmozcで。
$ sudo pacman -S fcitx5-im fcitx5-mozc
(たぶん)mozcに致命的な不具合(別掲予定)があるのでAnthyを使うことにした。
Chromium依存のアプリでmozcを使うと致命的な不具合が発生するなのでmozcとAnthy併用している。ブラウザは日本語入力を使うものはFloorpを使っている。
$ sudo pacman -S fcitx5-im fcitx5-mozc fcitx5-anthy
#(省略)
#added
XMODIFIERS=@im=fcitx #fcitx5ではないことに注意
$ fcitx5-configtool
▲参考
fcitx5 version5.1.11(新規インストール)において起動時imが立ち上がらない問題が発生している。fcitx5起動時に以下のエラーが発生している。現状で修正方法は不明。コマンドラインからfcitx5を直打ちしてやればimは使えるようになるので回避は可能。
E2024-10-26 13:57:26.334359 portalsettingmonitor.cpp:115] DBus call error: org.freedesktop.DBus.Error.UnknownMethod No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop
※chromium + fcitx5で発生(恐らく)する不具合
日本語入力中にキーが頻繁に直接入力されてしまう。
Kensington Expert Mouseのボタン設定
右上長押し+ボール上下でスクロール(やっつけ)
※現状ではGUIアプリを起動しないと設定が反映されない。アプリ起動の度にパスワードを効かれるのでPAMの設定が必要なのだろうと思うが。
ホイールが効かなくなったExpert Mouseのために設定。右上(SIDEボタン)がブラウザでページを戻るに割り当てられており、それの無効化が面倒かつよくわからないので、hwdbで右上と左上(MIDDLE)ボタンを入れ替え、マウス設定を実施した。
- ボタンの入れ替え
1-1. Expert Mouseのデバイス割当情報などを確認
sudo evtest
(省略)
Select the device event number [0-*]:
上記が出るのでKensington Expert Mouseが割り当てられているイベントの番号を確認し、入力。その後右上および左上ボタンを押下すると以下のような表示が出力される
(省略)
Input device ID: bus 0x3 vendor 0x47d product 0x1020 version 0x110
(省略)
Event: time 1746867077.705903, -------------- SYN_REPORT ------------
Event: time 1746867077.825910, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1746867077.825910, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
Event: time 1746867077.825910, -------------- SYN_REPORT ------------
Event: time 1746867079.529883, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1746867079.529883, type 1 (EV_KEY), code 275 (BTN_SIDE), value 1
Event: time 1746867079.529883, -------------- SYN_REPORT ------------
まず、Input device IDの行を記録する。次にBTN_MIDDLEおよびBTN_SIDEのMSC_SCANの後のvalueをそれぞれ記録する。ここではBTN_MIDDLEが90004、BTN_SIDEが90003。
1-2. .hwdbファイルの作成
ボタン入れ替えの設定ファイルを作成する。ファイルの内容は上記の例で以下の通り。
evdev:input:b*v047Dp80D4e*
KEYBOARD_KEY_90003=btn_side
KEYBOARD_KEY_90004=btn_middle
ファイル名は(おそらく)[頭が2桁の数値+任意].hwdbにする。evdev:input:の項は以下のフォーマットになっているので、先に記録したInput device ID等の情報をもとに文字列を作成する。bus_idとrsion_id以降はワイルドカードで良いようだ。各IDの16進数A〜Eは大文字で記載する必要あり。
evdev:input:b<bus_id>v<vendor_id>p<product_id>e<version_id>-<modalias>
キー割り当ても先に記録した設定をもとに書き換える。
Input RemapperというGUIアプリケーションを使うのが楽だった。
yay -S input-remapper-git
sudo systemctl enable --now input-remapper
アプリを起動して設定、GUIアプリなので見ればだいたいわかる。Outputのアクションはwheel(down, 20)などと記述する。
gnome-keyring
VSCodeの設定共有で必要になり調べてインストールしたら、Braveを立ち上げるたびにパスワードを聞かれ、パスワードを記録してくれなくて困った。PAMの設定を忘れずに。
$ sudo pacman -S gnome-keyring libsecret seahorse
※seahorseはGUIの設定画面が欲しければ。
#%PAM-1.0
auth required pam_securetty.so
auth requisite pam_nologin.so
auth include system-local-login
auth optional pam_gnome_keyring.so #←Add
account include system-local-login
session include system-local-login
session optional pam_gnome_keyring.so auto_start #←Add
※ログインマネージャーがgreetdの場合。別の場合は/etc/pam.d/login を編集(のはず)
フォント設定
font-managerで設定するのが早い
$ sudo pacman -S font-manager
$ font-manger
マルチモニタ設定
主に下記のサイトとリファレンスを参照しながら、いろいろ試してみた。ちなみに、下記サイトには~/.config/sway/configをcpコマンドで上書きするコマンドが書いてあるが(オリジナルの内容を理解していないなら)絶対実行してはいけない。デフォルトのキー入力さえ効かなくなって、とんでもないことになる。
ARandR
結局、画面の設定はグラフィカルな視覚サポートがあるのがいちばんはやいと思う
$ sudo pacman -S arandr
電源管理
サスペンド無効
#added
AllowSuspend=no
Arch Linux Wikiの説明と違うので、真っ当に変更したいならリンク先を参照のこと
docker
sudo pacman -S docker
sudo systemctl enable --now docker.service
sudo systemctl enable --now containerd.service
sudoなしでdockerコマンドを叩きたいなら
sudo usermod -aG docker $USER
kvm
$ sudo pacman -S qemu libvirt virt-manager virt-viewer
$ sudo systemctl enable --now libvirtd.service
仮想ネットワークが起動しない
以下のようなエラーが発生してホストとネットワーク接続できない
ERROR Requested operation is not valid: network 'default' is not active
以下のブログを参照してチェックしていく
私の場合はfirewalldがenableになっていなかったのか?この通りに最後まで確認してからシステムを再起動したら接続できるようになった。Windows11 on kvm
お試しでインストールしたときは比較的すんなりいったのだが、OS毎再インストールした後に再度トライしたら(上記仮想ネットワークの問題含め)とても苦労した。ホスト側のドライバをホストのインストール時に組み込むことがポイントだった。 でも少しバージョンが変わるとまた別の問題が発生するのだろうか。。。
wine
$ sudo pacman -S wine wine-gecko wine-mono
$ winecfg
▲参考
日本語の日本語の文字化け解消
$ sudo pacman -S winetricks zenity
$ winetricks
cjkfontsをインストールする(画面省略ごめんなさい)
※wineを起動した後だとデッドロックするので、wineのプロセスをkillする必要が出てくる
▲参考
キーボードが入力できない
ゴニョゴニョしているので下記参照して対応のこと。
その他
アーカイバ(Thunarで右クリックから展開)
圧縮ファイルはコマンドラインでunzipしてたが、WebブラウザからDLしたzipなどを解凍するときにファイラからマウス操作でやるほうが楽なケースが結構あることに気がついたので、7-zipを導入して対応
bash~~ ~~$ sudo pacman -S 7zip~~ ~~
- thunarを起動
- zipファイルを右クリック→プロパティ
- 「これで開く」(Open with)のドロップダウンを開き、「他のアプリケーション」を選択
- 「指定コマンドを使用する」を開いて"7z x %f -o "%f_extracted"(ダブルクオート内は任意)と入力。
以降、ファイルを右クリック→"%f_extracted"で開く、を選択すると"ファイル名_extracted"ディレクトリ内にファイルが解凍される。
Thunar-archive-pluginとXarchiverをインストールすれば終わりだった。
sudo yay -S thunar-archive-plugin xarchiver
以降、右クリックからのコンテキストメニューの操作に従うだけ
Floorp
Chromium系ブラウザは日本語入力で全滅、Firefoxはタブのグループ化とそれ相当の機能がないため個人的にNG。なのでFirefoxのエンジンを使ったFloorpを使うことに。AURからfloorpをyayしたがビルドエラー発生、floorp-binは無事インストールできた。
yay -S floorp-bin
emacs on wayland
sudo pacman -S emacs-wayland
※いつのバージョンからか、すぐ落ちるようになった。wayland版はまだ成熟してないのかな?
※emacsはinit.elなど別途書くつもり
ステータスバーの位置変更
画面下に持っていくなら、Waybarの設定ファイル(JSON)~/.config/waybar/configを"position": "bottom"に書き換える
Discussion