🦔

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インストール

https://github.com/EndeavourOS-Community-Editions/sway

入力

capsをctrlに変更

~/.config/sway/config
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
/etc/environment
#(省略)
#added
XMODIFIERS=@im=fcitx  #fcitx5ではないことに注意
$ fcitx5-configtool

▲参考
https://qiita.com/Meatwo310/items/947d26adbbddb9a7d098
※2024/10/26追記
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-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>

キー割り当ても先に記録した設定をもとに書き換える。
https://qiita.com/s1061123/items/d5bf285f91d6b6dc1b5b
https://bearmini.hatenablog.com/entry/2023/12/03/134330
2. スクロール設定を割り当てる
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の設定画面が欲しければ。

/etc/pam.d/greetd
#%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コマンドで上書きするコマンドが書いてあるが(オリジナルの内容を理解していないなら)絶対実行してはいけない。デフォルトのキー入力さえ効かなくなって、とんでもないことになる。
https://fedoramagazine.org/how-to-setup-multiple-monitors-in-sway/
https://man.archlinux.org/man/sway.5#CRITERIA

ARandR

結局、画面の設定はグラフィカルな視覚サポートがあるのがいちばんはやいと思う

$ sudo pacman -S arandr

電源管理

サスペンド無効

/etc/systemd/sleep.conf
#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

以下のブログを参照してチェックしていく
https://blog.programster.org/kvm-missing-default-network
私の場合はfirewalldがenableになっていなかったのか?この通りに最後まで確認してからシステムを再起動したら接続できるようになった。

Windows11 on kvm

https://zenn.dev/spacegeek/articles/9621526dbdb683
お試しでインストールしたときは比較的すんなりいったのだが、OS毎再インストールした後に再度トライしたら(上記仮想ネットワークの問題含め)とても苦労した。ホスト側のドライバをホストのインストール時に組み込むことがポイントだった。
https://qiita.com/undercover/items/a83bfdd6164848c8134f
でも少しバージョンが変わるとまた別の問題が発生するのだろうか。。。

wine

$ sudo pacman -S wine wine-gecko wine-mono 
$ winecfg

▲参考
https://wine.htmlvalidator.com/install-wine-on-endeavouros.html

日本語の日本語の文字化け解消

$ sudo pacman -S winetricks zenity
$ winetricks

cjkfontsをインストールする(画面省略ごめんなさい)
※wineを起動した後だとデッドロックするので、wineのプロセスをkillする必要が出てくる
▲参考
https://shunlog.work/arch-wine/

キーボードが入力できない

ゴニョゴニョしているので下記参照して対応のこと。
https://wiki.archlinux.jp/index.php/Wine#.E3.82.AD.E3.83.BC.E3.83.9C.E3.83.BC.E3.83.89.E5.85.A5.E5.8A.9B.E3.81.8C.E3.81.A7.E3.81.8D.E3.81.AA.E3.81.84

その他

アーカイバ(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