Mozc

Ubuntu 初期設定メモ:日本語入力・CapsLock・HackGen フォント

TL;DR — Ubuntu を入れたら最初にやること3つ:fcitx5+Mozc で日本語入力、CapsLock → Ctrl リマップ、HackGen Nerd Font インストール。

ふと思い出したけど、MacBook Pro 2015 Mid に Ubuntu 24.04 を入れてから安定するまでの道のりはひどかった…

それ書いて満足してたんだけど、一番先にやってた日本語入力のあれこれを記事にしてなかったので、やったこと3つをここに書いておく。

ちなみにデスクトップは全然いじってなくて壁紙変えたくらいなので、標準の Ubuntu デスクトップ環境です。

設定1:日本語入力(fcitx5 + Mozc)

Ubuntu のデフォルト IME は IBus なんだけど、IBus+Mozc は動作が不安定なことがある(変換がもたつく、日本語にすると直接入力モードが選択されてデフォルト英字になるなど)。

頭来たので、fcitx5 に乗り換えた。

インストール

sudo apt remove --purge ibus-mozc ibus-table
sudo apt install -y fcitx5 fcitx5-mozc fcitx5-configtool
im-config -n fcitx5

Ctrl+Space の競合を解消

GNOME が Ctrl+Space を入力ソース切り替えとして横取りしているので無効化する。

gsettings set org.gnome.desktop.wm.keybindings switch-input-source "[]"

これで fcitx5 が Ctrl+Space を受け取れるようになる。

あとは fcitx5-configtool を起動して Mozc を追加し、トリガーキーに Ctrl+Space を割り当てれば完了。

Ubuntu + fcitx5 で IME モードをトップバーの色で示す GNOME 拡張を作った(作ってもらった)

TL;DR — Ubuntu + fcitx5 で IME の入力モードをトップバーの色で示す GNOME Shell 拡張を作った。fcitx5-remote を 400ms ポーリングして Main.panel.set_style() で色を切り替えている。→ Github で公開してます

Ubuntu デスクトップで日本語入力してると、いま英語モードなのか日本語モードなのかわからなくなることがよくある。トップバーの右端に「あ」とか「A」は出てるんだけど、作業中は目線が画面中央にあるので全然気づかない。

何回も Ghostty の tmux でプレフィックス打って効かないことが続くの嫌になった。心底嫌になった。

macOS だと入力モード切り替え時に画面上に色付きのバーで今のモードを表示してくれるやつがあったのに…

既製品を探した

Claude さんに相談してみて、GNOME Extensions も漁ったけど、ぴったりのものがない。

  • Kimpanel(extension/261): fcitx5 と連携してトップバーにモード表示できる。でも文字表示なので見づらさは変わらない
  • Input-Method Status Indicator(extension/68): IBus 向けなので fcitx5 環境では微妙
  • カーソル近くに表示するやつ: Linux/GNOME には存在しなかった

そんなとき

「無ければ作ればいいじゃんw」

みたいなノリで Claude 様がおっしゃられたので

「まじっすか、それでお願いします!」

って言ったら10分もかからずにできた。すげーなおい。

俺指示したの「色の指定は外出しファイルにしてリアルタイムに反映できるようにしといて」の雑な1行だけ。

そんな雑な指示によって作られたものが以下です。

作ったもの(作ってもらったもの)

fcitx5 が提供している fcitx5-remote コマンドをポーリングして、返り値に応じてトップバーの色を切り替える GNOME Shell 拡張。

~/.local/share/gnome-shell/extensions/ime-indicator@local/
├── extension.js
├── colors.json
└── metadata.json

metadata.json

{
  "name": "IME Indicator",
  "description": "fcitx5 の入力モードに応じてトップバーの背景色を切り替える",
  "uuid": "ime-indicator@local",
  "shell-version": ["46"],
  "version": 1
}

colors.json

色の設定だけを切り出したファイル。ここを編集すると即時反映される。