とにかく書く

日々の雑感や知り得たことを、とにかく書いています

Wayland + Labwc に Fcitx5 + Mozc をインストール

背景

Wayland (Labwc) に iBus をインストールして使用しているが、ときどき iBus に よってウィンドウがフリーズしてしまう。 そこで、Fcitx5 + Mozc に乗り換えた。 なお、ArchLinux での運用のため、パッケージなどは他ディストリビュータと異なる 可能性がある。

続きを読む

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に WindowsLinux がそれぞれインストールされた 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起動用のカーネルイメージが作られなかった(ように思う。)

  1. Arch Linux のUSBインストールメディアを準備する
  2. マザーボードの設定画面からUSBインストールメディアを UEFI でブートする
  3. 以下の手順で grub をインストールする
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) がLinuxWindows も見つけられなかった。
PCの起動を UEFI にし、pacman でOSを再インストール(アップデートだったが…)することで、grub が/bootにLinuxイメージを見つけることができた。
Windows の方は、grub-mkconfigにおいて、USBインストールメディア(/dev/sde1など)に grub のエントリーポイントがない、とエラーになっていたため、この時点では見つけられなかった。

Linux を登録できたためPCを再起動して Linux を起動し、WindowsEFI パーティションをマウント(mount -t vfat /dev/sdd4 /mnt/media など)したあと、再度 grub-install からやり直すと無事にWindowsも登録できた。

*1:Windows 11 は UEFI での起動しかなく、grub および LinuxUEFIで起動するよう、Windows に合わせなければならないため。

Linux 上で、洞窟物語を日本語で遊んで見る

ArchLinux には「洞窟物語」として AUR に doukutsu がある。
ただ、これは英語版のため日本語で遊んでみたいなーとおもったのでメモする。

作業としては、Windows版の zip ファイルを AUR の大元のサイトからダウンロードして、data ファイルをコピーするだけ。
data ファイルは /opt/doukutsu の下にある。
まだ起動を確認しただけなので、最後まで遊べるかはこれから確かめる…。

 $ less `which doukutsu`

ディレクトリ構成がわかる。$HOME/.doukutsu にシンボリックリンクが貼られていた。

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 できていることを確認した。


  1. MIMEタイプは wxWidgetswxMimeTypesManager クラスにある GetFileTypeFromExtension メソッドによって取得している。