Wayland (Labwc) での iBus の設定
2025-05-17 追記
IBus が起動しているとウィンドウがキーを受け付けなくなることがあり、 IBus をやめて Fcitx5 に乗り換えることにした。
追記ここまで
Waybar に iBus の状態を表示させたいと思って調べていると、 iBus 1.5.32-rc1 から Wayland をサポートするようになっていた。 Release 1.5.32-rc1 · ibus/ibus · GitHub
Labwc をはじめ、複数の環境やウィンドウマネージャでの設定例が iBus Wiki にある。 WaylandDesktop · ibus/ibus Wiki · GitHub
Labwc を新規にインストールした場合では、以下だけが該当する。waybar 起動のあと1秒待たないといけない模様。
~/.config/labwc/autostart
waybar & sleep 1 ibus start --type=wayland
以下は少しハマった事例。
続きを読むX.Org + Fvwm2 から Wayland + Labwc に変更したメモ
2025-04-29 追記 iBus 1.5.32 から Wayland に対応したので、それに合わせて iBus 関連の設定を変更しました。
学生の頃からずっと Fvwm2 を使ってきた。 ときどき Fvwm2 以外のシステムを試すけれども、細かい設定ができない・やりなおしが面倒、とのことで結局使い続けてきた。 若いときは画面の装飾などに凝って、色々と設定してきた愛着もある。 ただ、Fvwm3 の Ver 1.0.0 がリリースされ、
- 将来的には設定ファイルは互換性がなくなる
- Wayland の対応はスクラッチで作り直すくらい大変だからできていない
といった記述があり、Wayland も hikari など試してきた。 これまでは Wayland も不安定な印象があったが、今回 Labwc を試し、装飾はともかく機能は Fvwm2 とほぼ遜色ない状態まで設定できたのでメモとして残す。
- インストール
- 起動
- 終了
- 設定
- キーボード
- labwc でキーボードの種類を設定
- udev でキーの読み替えを設定
- 設定ファイルの作成
- udev に反映
- xremap で設定
- 日本語入力
- メニュー
- マウス
- ショートカットキー
- ワークスペース
- テーマ
- キーボード
- アプリケーション
- foot
UEFI
1台のPCに Windows とLinux がそれぞれインストールされた SSD を搭載している。
Windows を 10 から11 にしたのに伴い、Linux 側も UEFI で起動する必要が生じた。*1
つまづいたポイントを列挙しておく。マザーボードは、MSI の Z370 gaming plus。
(1) マザーボードがUEFIモードで起動していなかった
PCの電源を入れたときに Del キーを押すとマザーボードの設定画面に移行する。
ここで、マザーボードのBoot Mode が CSM (古いファームウェアバージョンだと Legacy)になっていることに気づかなかった。
設定は、マザーボードの設定画面にある Windows 用の設定から変更する。
ブートするディスクの起動モード(Legacy + UEFI または UEFI)とは別の設定であることに注意が必要だった。
(2) UEFIモードで起動した状態で、Linux カーネルの再インストールが必要
PCが UEFI で起動している状態で、Linux カーネルの再インストールが必要だった。PCがCSMで起動している場合、カーネルの再インストールやアップデートでも /boot 以下にUEFI起動用のカーネルイメージが作られなかった(ように思う。)
SSD を /mntにマウントする。 # mount -t ext4 /dev/sdXX /mnt / の位置を変える。 # arch-chroot /mnt /boot をマウントする。 # mount -t vfat /dev/sdYY /boot カーネルを再インストールする(今回は # pacman -Syu で、カーネルが更新に含まれていた。) # pacman -Sy linux linux-headers grub を再構築する(MSIのマザーボードだと --removable をつけたほうが良い。) # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB_UEFI --removable grub が os-prober を使うようにする。 # vi /etc/default/grub.cfg => GRUB_DISABLE_OS_PROBER=false を追記 grub をインストールする。 # grub-mkconfig -o /boot/grub/grub.cfg
このとき、os-prober (grub-prober) がLinux も Windows も見つけられなかった。
PCの起動を UEFI にし、pacman でOSを再インストール(アップデートだったが…)することで、grub が/bootにLinuxイメージを見つけることができた。
Windows の方は、grub-mkconfigにおいて、USBインストールメディア(/dev/sde1など)に grub のエントリーポイントがない、とエラーになっていたため、この時点では見つけられなかった。
Linux を登録できたためPCを再起動して Linux を起動し、Windows の EFI パーティションをマウント(mount -t vfat /dev/sdd4 /mnt/media など)したあと、再度 grub-install からやり直すと無事にWindowsも登録できた。
CDEmu のデスクトップエントリ作成
自作のファイラにて iso ファイルを開こうとしたとき、MIMEタイプが application/x-gamecube-rom と認識される。1 さらに、CDEmu のデスクトップエントリがないため、自動的にマウントしてくれない。
CDEmuの GitHub には、cdemu-client.desktop.in としてデスクトップエントリが準備されていたので、ホームディレクトリに cdemu-client.desktop として保存した。
追加で以下を行った。
- _Nameと_Commentは、行頭のアンダーラインを削除した。
- application/x-gamecube-rom; を application/x-gamecube-iso-image; の後ろに追加した。
確認しOK。
$ desktop-file-validate cdemu-client.desktop
インストール
$ desktop-file-install --dir=$HOME/.local/share/applications ~/cdemu-client.desktop
デスクトップエントリデータベースの更新
$ update-desktop-database ~/.local/share/applications
一連の処理手順については Arch Wiki のデスクトップエントリ を参考にした。
iso ファイルをダブルクリックして、cdemu status コマンドでマウントload できていることを確認した。
- MIMEタイプは wxWidgets の wxMimeTypesManager クラスにある GetFileTypeFromExtension メソッドによって取得している。↩