GUIでの日本語入力環境の整備(Ubuntu 24.04, 2025年度版)

前提_

Ubuntu 24.04LTSの初期設定が終わっていることとする(geditのインストールも終えていることとする)。

以下のコマンドで何も表示されなければgeditはインストールされていないので、先にgeditをインストールする。

% which gedit
/usr/bin/gedit

インプットメソッド fcitx5_

解説(読み飛ばしてよい)_

多くのプログラムや設定ファイルでは日本語などのマルチバイト文字は使われないので、必要に応じて日本語入力環境を整える。

Unix/Linuxはアルファベット文化圏の生まれなので、日本語などのマルチバイト文字(アルファベット以外の文字)を基本システムとして組み込んでいない。日本語入力のためには、インプットメソッド(Input Method, 略してIM)のインストールと設定が必要となる。

さまざまなインプットメソッドが提供されているが、WSL上のUbuntu 24.04 LTS ではFCITX5(fcitxというインプットメソッドのバージョン5)というインプットメソッドに漢字かな変換ソフトmozcを組み合わせた fcitx5-mozc を用いる。

2025年現在、WSLのGUI実装であるWSLgは、UbuntuのGUIアプリの基盤であるWaylandに完全対応できていない。このため、fcitx5はWaylandを利用せずに動かす。

インストールと設定(2025年5月17日修正)_

以下のコマンドでfcitx5-mozcをインストールする。念のため、パッケージを最新にする。

% sudo apt update
% sudo apt upgrade
% sudo apt install -y fcitx5-mozc
% im-config -n fcitx5

続いて fcitx5用の設定を記述する。.profileを編集する。まず、設定を失敗した時のためにコピーファイルを用意する。

% cd
% cp -p ~/.profile ~/.profile.bak

(ファイルを作成できているか確認する)
% ls -l .profile*
-rw-r--r-- 1 gotoh gotoh 1190  5月 12 02:33 .profile
-rw-r--r-- 1 gotoh gotoh 1190  5月 12 02:33 .profile.bak

geditでホームディレクトリにある.profileを開く。

% gedit ~/.profile &

以下をファイルの末尾に追記する(コピー&ペーストを推奨)。なお、既に記載されている内容がある場合はそれを削除しないこと。追加したら保存し、geditを終了する。

# For FCITX5
while true; do
  dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY 2> /dev/null && break
done

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
if [ $SHLVL = 1 ] ; then
  (fcitx5 --disable=wayland -d --verbose '*'=0 &)
fi

2025年5月17日修正:「 xset -r 49 > /dev/null 2>&1」のコマンドを削った。このコマンドはX11環境では効果があるが、Wayland環境では効果がないため。

ちゃんと保存されているかを確認する。catはファイルの中身を表示するプログラム。以下の内容が表示されていれば、ちゃんと記載&保存できている。

% cat .profile
~中略~
while true; do
  dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY 2> /dev/null && break
done

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
if [ $SHLVL = 1 ] ; then
  (fcitx5 --disable=wayland -d --verbose '*'=0 &)
fi

上記のような出力がでない場合は、~/.profileの編集に失敗している。以下の手順で編集しなおすこと。

  1. バックアップしていたファイルから復元する。
    % cd
    % cp -p ~/.profile.bak ~/profile
    
  2. geditで~/.profileを開く
  3. 上述の内容を.profileにコピーし、保存する。
  4. 内容を確認する。
    % cat ~/.profile
    

一度Ubuntuを終了し、再起動する。ターミナル上で以下のコマンドを実行する。

% exit

キーボードの設定(2025年5月17日修正&追記)_

Ubuntuを起動したときに~/.profileが読み込まれ、fcitx5が起動されている(fcitx5が実行されている)。念のため、fcitx5が動いていることを確かめる。以下のコマンドでfcitx5(以下の例の実行結果の1行目)が記載されていれば良い。

% ps -ef | grep fcitx
gotoh        732     333  0 20:17 ?        00:00:00 fcitx5 --disable=wayland -d --verbose *=0
gotoh        809     334  0 20:17 pts/0    00:00:00 grep --color=auto fcitx

注:fcitxが起動していない場合は~/.profileの設定が間違っているのでやり直すこと。

ターミナル上ではなく、別ウィンドウで開くソフトウェア上で日本語が入力できるように設定を行う。まず、設定用のコマンドがあるかwhichコマンドで確かめる。

% which fcitx5-configtool
/usr/bin/fcitx5-configtool

以下の設定手順を動画にしたものは以下の通り。

設定を行う。

% fcitx5-configtool

すると、以下の設定画面が表示される。キーボード上に「半角/全角」のキーがある場合は日本語配列のキーボードである。多くの学生は日本語配列のキーボードを使っているので、まず、日本語配列のキーボードを追加する。標準では以下の画像のように英語キーボードが登録されているため、この登録を削除する。英語キーボードをマウスの左クリックを押し、アクティブにする。その後、中央にある右・左の矢印のアイコンを使って、英語キーボードを削除する。

次に日本語キーボードを追加する。上記の画像のように英語キーボードが表示されていない場合は、以下の画像のように「現在の言語のみ表示」のチェックを外す。すると、さまざまな言語のキーボードが表示される。

中央にある右・左の矢印のアイコンを使って、日本語キーボードを追加する。

日本語キーボードが「Mozc」の下に追加される。続いて、中央にある上・下の矢印のアイコンを使って、日本語キーボードをMozcの上に移動させる。

下の画像のように日本語キーボードが最上位にする。「OK」ボタンをクリックし、設定を保存する。その後、fcitx5-configtoolを終了する。何かウィンドウが表示されたら「YES」を押す。

もう一度、fcitx5-configtoolを実行する。

% fcitx5-configtool

次に入力メソッドの切り替えキーを変更する。タブの「グローバルオプション」をクリックする。

そして、「入力メソッドの切り替え」に割り当てられたキーバインド(どのキーを押すのか)を変更する。

(2025年5月17日変更)標準設定では「Control+スペース」「全角半角」「ハングル」の3つが割り当てられている。しかし、「Control+スペース」はemacsで頻繁に利用するキーバインドであるためこれを外す。

また、Linux環境においては「全角半角」キーと「ひらがな, カタカナ, ローマ字」キーはオートリピート(キーが自動で連打される)となる現象が発生する。2025年5月17日現在、Wayland環境においてこれを解決する方法がない。そして、韓国語キーボードでは「ハングル」のキー「全角半角」キーと同じキーコード(49)に割り振られているようなので、はこれも外す。

さらに、「ハングル Hanja」キーあるいは「ハングル Romaja」キーのどちらか、あるいは両方が「ひらがな, カタカナ, ローマ字」キーと同じキーコード(101)が割り振られているようなので、これらのキーも外す。

以上より、下の画像で赤く囲っているボタン(たぶん「ゴミ箱のアイコン」)で以下をすべて削除する。

  • 「Control+スペース」
  • 「全角半角」
  • 「ハングル」
  • 「ハングル Hanja」
  • 「ハングル Romaja」

以下の赤枠の部分が「空」になる。

「入力メソッド」に対応するキーを決める。「全角半角」と「ひらがな, カタカナ, ローマ字」ではないキーを割り当てる。「無変換」か「変換」キーが無難だと思う。「空」というボタンをクリックし、その後、割り当てたいキーを押す。以下の例では「無変換」を割り当てている。

「入力メソッドを有効にする」「入力メソッドはオフにする」は空のままで良い(自分の好みのキーを割り当ててもよい)。

キーを割り当てたら「OK」ボタンを押して保存する。

GUI上での日本語入力(geditを例として)_

geditを起動する。

% gedit &

geditをアクティブにしている状態で、(上の設定例の通りの場合)「無変換」キーを押すたびに「ja」「あ(全角かな)」と入力モードが切り替わる。

「あ(全角かな)」のモードの状態で日本語入力すると下の画像のとおりに変換候補が表示される。

謎現象:「ja」と「あ(全角かな)」のモードの高速切り替わり(2025年5月17日 解決)_

複数人から報告があったが、geditで「全角半角」文字を押し、日本語入力を行おうとすると、「ja」と「あ(全角かな)」のモードが高速で切り替わるという現象が発生する。

この現象は、Linux環境においては「全角半角」キーと「ひらがな, カタカナ, ローマ字」キーはオートリピート(キーが自動で連打される)となる現象が発生しているためである。

これまでは、この現象に対して「全角半角」キーの連打を無視するようにX Windows Systemサーバ(X11)指示するコマンド(「xset r off 49」あるいは「xset -r 49」)を使用していた。しかし、Wayland環境ではこのコマンドが効果を発揮せず、Wayland環境では、このコマンドに対応するコマンドが用意されていない。

今回は「全角半角」キーと「ひらがな, カタカナ, ローマ字」キーを使わないという方法で回避することとした。

戻る_