GUIでの日本語入力環境の整備(Ubuntu 24.04)

前提_

Ubuntu 22.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 を用いる。

インストールと設定_

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

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

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

% cd
% touch ~/.profile

(ファイルを作成できているか確認する)
% ls -l .profile*
-rw-r--r-- 1 gotoh gotoh 360  6月  2 16:57 .profile

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

% cd
% gedit ~/.profile &

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

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 &)
  xset -r 49  > /dev/null 2>&1
fi

ちゃんと保存されているかを確認する。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 &)
  xset -r 49  > /dev/null 2>&1
fi

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

  1. まず、一度、別名保存する
    % cd
    % mv ~/.profile ~/profile.YYYYMMDD (注:YYYYは西暦4桁、MMは月2桁、DDは日付2桁)
    
  2. 空の.profileを作成する。
    % touch ~/.profile
    
  3. geditで~/.profileを開く
  4. 上述の内容を.profileにコピーし、保存する。
  5. 内容を確認する。
    % cat ~/.profile
    

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

% exit

キーボードの設定_

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

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

そして、「入力メソッドの切り替え」に割り当てられたキーバインド(どのキーを押すのか)を変更する。標準設定では「Control+スペース」「全角半角」「ハングル」の3つが割り当てられている。しかし、「Control+スペース」はemacsで頻繁に利用するキーバインドであるため、「全角半角」のみを有効にする。。

下の画像で赤く囲っているボタン(たぶん「ゴミ箱のアイコン」)で「Control+スペース」と「ハングル」を削除する。

以下の画像のように「全角半角」のみを残す。「OK」ボタンを押して保存する。

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

geditを起動する。

% gedit &

geditをアクティブにしている状態で、半角全角キーを押すたびに「ja」「あ(全角かな)」と入力モードが切り替わる。

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

謎現象:「ja」と「あ(全角かな)」のモードの高速切り替わり(2024/6/7, 2024/7/13追記)_

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

私の環境でも先日はこの現象が発生していたが、6/7にgeditを立ち上げて日本語入力を試みたところ、この現象が収まっていた。原因が不明なので、とりあえず無視してほしい。

追記(2024/7/13) fcitxで作るWSL日本語開発環境によると、~/.profileに記載している命令「xset -r 49」がこの点滅を防ぐ命令とのこと。

戻る_