Chap-27. 日本語入力システムの設定メモ

 日本語入力システムが自分の使いやすいように設定できるかどうかって、結構重要です。
本ウェブサイトで、日本語入力システムの設定の部分、割合とアクセスがあるようです。
このため、「日本語入力システムの設定」で一つのチャプターとしてみました。これまでのものに、少し書き足しています。
設定は、当サイト管理人の好みでやってます。ご自分の好みに合わせて変更してください。
前提として以下のようなことを考えています。

こんな感じに使えるようにしたいと思います。
最後の行のショートカットキーですが、ATOK ってこんな感じだったかなぁ・・・ってうろ覚えです。ちょっと違うかもしれません(笑)。

Sec-7. Sec-8. に追加で mozc 関連のコンパイルなど書きました。2022-10、2022-11




Sec-1.ibus-kkc
Sec-2.uim-mozc
Sec-3.ibus-mozc
Sec-4.fcitx-mozc
Sec-5.余談
Sec-6.ibus-anthy
Sec-7.ibus-mozc のインストール及びコンパイル
Sec-8.fcitx5-mozc のインストール及びコンパイル




Sec-1.ibus-kkc

 まず設定用のウィンドウを開けます。

kkc1

今は初期入力モードが「ひらがな」なので、直接入力にします。

kkc2

次にショートカットの「ひらがな」に進みます。

kkc3

下の方に直接入力モードに変更があります。

kkc4

今は、Zenkaku Hankaku になっているので、これを2回ほど左クリックして

kkc5

Ctrl + Space にします。

kkc6

「直接入力モードに変更」はまだ2つありますが、不要なのでーで削除します。
次に、ctrl + u, i,o, p に割当します。ひらがな、カタカナ、全角英数字、半角英数字にしたい。
kkc の場合デフォルの設定で、ctrl + o, ctrl + i が重複します。別に割り当てるか、使わないなら消します。私は消しました。
ー記号で削除しました。

kkc7

kkc8

後は、Ctrl + u, i, o, p にひらがな、カタカナ、全角英数字、半角英数字を当てるだけです。ボンヤリした記憶ですが、確か、こんな感じだったような・・・(笑)

kkc9

最後に、直接入力からひらがなへも、ctrl + space になるようにします。さっきと同じように操作して変更します。同じエントリーが沢山あって不要なので、適当に消します。

kkc11

これで、ATOK 風に操作できるようになります。




Sec-2.uim-mozc

 なにはともあれ、設定画面(下の)を出します。


window1

ここで、全体キー設定1を押します。またウィンドウが現れます。

window2

 この画面の上2つが、日本語変換オンオフの設定です。ここで一番上の、 [全体] オン 、の右の編集ボタンを押すと下の設定画面となります。

window3a

初期設定だと上の箱に2つ設定が入っています。それを削除します。

window3b

その後、下のボックスに行って、そこでコントロール+スペースをやると、<control>space という文字が入ります。下の画面はそれが入ったところ。

window4

その後、追加ボタンを押すと上のボックスにそれが入ります。それでオケです。

window5

以上の作業と同じことを上から二番目、 [全体] オフ 、の右の編集ボタンでも実行します。
後はウィンドウを閉じれば、ATOK 風にコントロール+スペースキーで IME のオン・オフが出来ます。
変換キーのショートカット割当も最初からやってあります。いかにも ATOK 風な割当。




Sec-3.ibus-mozc

 ibus-mozc の場合、設定用のツールが最初から入っているディストリと、自分で入れなければならないディストリがあります。
Ubuntu、Mageia は自分で入れる必要があります。Ubuntu だったら mozc-utils-gui です。Mageia だと mozc-tools ってパッケージ名です。
openSUSE、Fedora や、リポを修正して CentOS に ibus-mozc を入れる場合、一緒にセットで設定用ツールも入ります。自分で入れる必要ないみたいです。

ツールが使えるものとして以下進めます。下の画面を出します。これがキー割当を変更できる画面です。(fig-1)

mozc1

ここで「キー設定の選択」をATOKに変えます。変えたあと、右の編集をクリックし、IME の設定項目のところを出します。

mozc2

下の図が IME の設定をするところ、ここでHankaku/Zen...のところにカーソルを持っていき、3回左クリックします。

mozc3

すると下の画面が現れます。ここで入力のところにカーソルを持っていき、Ctrlキーを押しながら、スペースバーを押します。

mozc4

すると、Ctrl Space という文字が入力されます。ここで OK を押します。

mozc5

これで、この項目については ATOK 風に設定できました。以下、同様に IME のところを全部こんな具合に設定します。数箇所あります。
全部設定が済んだら、 OKとか適用とか押して設定変更終了です。このあと立ち上げたターミナルなり Firefox なりで日本語入力のオンオフが ATOK 風になります。
変換キーのショートカット割当も最初からやってあります。いかにも ATOK 風な割当でグッドです。





Sec-4.fcitx-mozc

 一つ Section を起こしましたが、書くことはほとんどありません(笑)。
ATOK 風の動きになるように設定する作業がありません。
fcitx-mozc の場合は、それが動くようにきっかけを設定することくらいです。
MXLinux のチャプタでは、apt コマンドを使って日本語入力システムをインストールする例を示しています。この場合は、im-config コマンドで fcitx を指定するか、あるいはホームディレクトリに .xprofile を作っておくか、どっちかのきっかけ作りが必要みたいです。.xprofile についてはChap-17. Sec2.に書きました。

一方、Chap-13.に Debian に LXQT を単独で入れる例を示しました。その場合は、日本語入力は自分で入れることになりますが、Chap-13. では synaptic を使うと書きました。synaptic を使って fcitx-mozc を入れれば、直ちに fcitx-mozc が動くように設定までやってくれます。なので、何もせずにリブートするだけで、日本語入力できるはずです。

Mint LMDE も自分で日本語入力システムを導入しますが、この場合も synaptic を使えば、ただ入れるだけで何も設定することがありません。リブートして日本語入力できるようになります。

fcitx-mozc なら無事に動き出せばただちに ATOK 風に使うことが出来ます。





Sec-5.余談

 最後になってこんな事を書くのもなんですけど、ibus-kkc をどうしても使わなければならないなら、やむを得ません。でも、できれば mozc 系(uim、ibus、fcitx なんでも可)を使ったほうが良いと思います。
下の例は、Aのマシンにログインし、Bのマシンに ssh で入ります。Bのマシンにあるテキストファイルを編集します。emacs を起動します。Bのマシンの emacs です。
ここで日本語入力をオンにすると、Aのマシンの日本語入力システムが動きます。これがibus-kkc の場合、多少動きが変です。
mozc 系ならどれでも問題ないです。kkcだとキーボード・ショートカット割当したものが、うまく動きません。不安定。
ですから、自由に選べるのなら ibus-kkc でなく mozc系のどれか。変換効率も、mozc の方が良いです。

fcitx-mozc や ibus-mozc って、Debian の人(日本の人)がメンテやってくれてるみたいです。本当に有り難いことです。

kkc-prob



Sec-6.ibus-anthy

 Eendeavour OS で久しぶりに anthy 使います。Slackware で scim-anthy 使って以来です。
いつものように、ATOK 風にしたい。使いたいのは、ctrl+m (return) 、ctrl+h (BS)、ctrl+space(im のオン・オフ)、ctrl+u(ひらがな)、ctrl+i(カタカナ)、ctrl+p(全角英数字)、ctrl+o(半角)です。
適当にうろ覚えの ATOK 風割付ですが、ちょっと間違ってるかもしれません(笑)。
これくらいを割り付けておき、さらに Emacs で使えば、ほぼ、常にホームポジションでタッチタイピング入力できます。
つまり、手の位置をほとんどホームポジションから外さないで入力ができます。
このうち、ctrl+m、ctrl+h はもともと割りつけてあるので、残りを割り付けます。

GNOME を選んだので、下のような「地域と言語」のメニュです。+をおして anthy を追加します。

input-01

input-02

右上にJAが出るのでクリックして anthy を選びます。

input-03 input-04

更にクリックして、anthy の設定に入ります。

input-05

キー割当に入ります。on_off が Ctrl+space になっていないので、直します。

input-06

ctrl+j zennkaku_hannkaku を削除

input-07

ctrl space にします。space は小文字でないとうまくいきません。

input-08

ctrl+space が on_off になりました。

input-09

同じように ctrl+u、ctrl+i、ctrl+p、ctrl+o を割り付けますが、最初から u と o が別の割付してあるので、これを削除します。どうせ、最初に割付してあるの、私は使わないので・・

input-10

まずひらがなを割り付けます。

input-11

同様にして、他のも割付けます。

input-12

以上で、ATOK 風割付(らしき設定、笑)になりました。
こんな具合に、いつも同じ ATOK 風割付をしておくと、どの IM を使っても使い心地が同じです。
どのディストリでも、どの IM でも、いつも同じ感じに日本語入力できます。
anthy の変換効率はまあまあだと思います。mozc と比較しても遜色ないと思います。
Debian のパッケージで ibus-anthy を見ると、Debian のチームがメンテしてくれてるようです。Debian って OSS 全体に貢献しようという姿勢が顕著で、その姿勢が好印象です。

補足:もしかしたら anthy のメンテは Fedora の人かもしれません、いい加減なことを書いて恐縮です。







Sec-7.ibus_mozc のインストール 及びコンパイル 

** ibus_mozc のインストール **

2022-10-31

 Arch でコンパイルした ibus_mozc のパッケージです。パッケージ



******** ライセンス関係 ***********************
 mozc のソースは google のライセンスです。ライセンスは同封してあります。
インストール用のスクリプトは hatashiro さんです。hatashiro さんのライセンスはネットで見つけることが出来ませんでした。
mozc ライセンスに従えばバイナリー配布及び再配布は自由のようです。


********* インストール方法 *******************
 単に tar 玉を展開し、その中に入って # sh installmozc.sh とするだけです。
インストールする前に /usr/share/ibus/component/ というディレクトリがあるか確認してください。無ければ先に作っておきます。
展開はどこでやってもオケです。






********* うまく動いたディストリ **************
*Clear Linux GNOME 日本語
 インストール後にリブートすればすぐ使えます。


*Almalinux GNOME 日本語
 インストール後にリブートすればすぐ使えます。電源投入して立ち上げるごとにキックを入れる(笑)つまりキーボード配列を表示したり firefox を一瞬立ち上げてすぐ落としたり、なにかしないと動かないのは、Almalinux あるあるです、笑。
Almalinux でコンパイルするときは 30 くらいのパッケージを入れてコンパイルしました。しかしこのibus_mozc を入れるのにそれらパッケージは必要ありません。どうやらコンパイルに必要なパッケージでも実行には不要なようです。


*Slackware Xfce 日本語
 インストールした後、/etc/environment に以下の記述を加えます。

export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus

また「セッションと起動」で ibus が立ち上がるようにしておきます。多分デフォルトで立ち上がる設定だと思います。
ibus 設定で「日本語」と「mozc」だけにするとうまく動くようです。
Slackawre-Xfce で使う場合、一度 X 端末で IM 起動・停止しておいてから使う必要があります。いきなりブラウザだと入力出来ません。
なお、current では動きますが Slackware-15.0 では glibc のバージョン違いで動かないと思います。


*ArcoLinux GNOME 日本語
 先に # pacman -S ibus として ibus を入れておきます。その後 ibus_mozc をインストールすれば使えます。


*Debian testing GNOME 日本語
 日本語版にしたら何故か ibus ibus-anthy が最初から入っていました。なのでこれを入れて更に libqt5xdg3 てのを入れれば動きます。


 




************** 動かなかったディストリ *************
 Fedora、ALT(sisphus)は動きません。ともに mozc 設定は動きます。しかし日本語変換しようとするとチラチラチラと画面が乱れてなんともなりません。ダメです。






************** その他 *************
電源投入後に一度キックしないと動かないのは ALmaLinux だけでした。
コンパイルやってみるまで知らなかったのですが、案外と複数のディストリで動くものらしいです。
mozc をもともと持っているディストリでも上記のように試してみました。(単に試してみたかっただけです、笑)
上記のディストリの動いたものでは mozc 設定も動くのでキーボードショートカットの変更も出来ました。





** ibus_mozc のコンパイル **

2023-03-xx
 以下の記述は 2022-11-15 頃の記述です。2022 夏から秋頃はこれでコンパイルできました。
しかるに、2023-03 頃になったらコンパイルできなくなっていました。理由は分かりません。ネットの書き込みに mozc 関係で一部についてソースコードの提供が停止されたとありました。そのことが関係しているかもしれないですが、詳細は不明です。
従って、Almalinux、Clear Linux については自力コンパイルでなく flatpak 版 mozc の利用をおすすめします。
Slackware-current の場合は Salix から強引に flatpak を移植して、同様に flatpak 版 mozc を利用することをおすすめします。
Arch 系はディストリパッケージに fcitx5-mozc があるのでそれを利用しましょう。

なお、本セクション7の冒頭にコンパイルしたバイナリーをtarで固めたものがアップしてあります。それも利用可能です。

今回コンパイルできなくなったことが今後も継続するのか、それとも一時的なものなのか分かりません





2022-11-15
 以下は AlmaLinux のチャプタにあった記述をこっちに写しました。複数のディストリに共通する話です。
今の所コンパイルに成功したのは Almalinux、Arch Linux、Slackware-current、Clear Linux の4つです。(4つしかチャレンジチャレンジしてないですが、笑)

** コンパイル準備 **

** コンパイル作業 **
コンパイル作業は単純です。適当なディレクトリ例えばホームディレクトリ等(どこでも良い)で

$ git clone https://github.com/google/mozc.git
$ cd mozc
$ git submodule update --init --recursive
$ cd src
$ bazel build -c opt --copt=-fPIC  --config oss_linux  unix/ibus:ibus_mozc server:mozc_server gui/tool:mozc_tool renderer:mozc_renderer

とするだけ。コンパイル作業自体は最後の一行だけです。
コンパイル後のインストールについては幸いにネット上にインストールスクリプトがアップされていましたので、それを利用しました。URL は以下のとおりです。

https://gist.github.com/hatashiro/1ebbd5ed6607d4e191395bba682fdf59

著者さん御礼申し上げます。内容は基本的に以下のとおり。

#!/usr/bin/env bash

LIB_MOZC=/usr/lib/mozc
LIB_IBUS_MOZC=/usr/lib/ibus-mozc
SHARE_IBUS_COMPONENT=/usr/share/ibus/component
SHARE_IBUS_MOZC=/usr/share/ibus-mozc
BIN=/usr/bin

# Create directories.
mkdir -p $LIB_MOZC
mkdir -p $LIB_IBUS_MOZC
mkdir -p $SHARE_IBUS_MOZC

# Copy binaries
cp -f bazel-bin/gui/tool/mozc_tool $LIB_MOZC
cp -f bazel-bin/renderer/mozc_renderer $LIB_MOZC
cp -f bazel-bin/server/mozc_server $LIB_MOZC
cp -f bazel-bin/unix/ibus/ibus_mozc $LIB_IBUS_MOZC/ibus-engine-mozc
cp -f bazel-bin/unix/emacs/mozc_emacs_helper $BIN
cp -f bazel-bin/unix/ibus/mozc.xml $SHARE_IBUS_COMPONENT
unzip -o bazel-bin/unix/icons.zip -d $SHARE_IBUS_MOZC
##

スクリプト中で mozc_emacs_helper の記述がありますが、そこはうまくコンパイル出来なかったので無視しました(使うときはコメントアウトしました)。汗。emacs 関係スクリプトは出来たけど、binary が出来ませんでした。



 Slackware の場合にはひと工夫しないと bazel が導入できません。しかし多少強引なことをやってでも bazel を導入すれば簡単にコンパイル出来ます。
Slackware の場合、どうも時期によってコンパイル出来たり出来なかったりするようです。多分更新に伴って開発環境が多少変更となるため。一旦コンパイルできなくなっても少し間をあけるとまたコンパイル出来るようになると思います。気長にやってください。




Sec-8.fcitx5_mozc のインストール 及びコンパイル 

2022-11-15

** 話の準備 **

 まずは fcitx5 の設定の話から。
基本的に xfce で動かすディストリで mozc を持たないもの。なので Slackware-current で話を進めます。
Slackware (current でも 15.0 でも)で fcitx 系を使っている人はどうやって設定しているんでしょうか?
私はうまく設定出来ませんでした。インストールした直後の状態で Slackware で fcitx5 設定(fcitx5-configtool)を動かそうとすると下のような画面が出ます。ようするに設定出来ません。

no

 しばらく Slackware 使っていなかったので特に気にすることもなかったです。
これが ArcoLinux でやると、最初は下の画面

ok2

これで日本語キーボードと mozc を選ぶと次の画面になります。

ok1

ようするにこうなってはじめて mozc が使えるようになります。
では、なぜ Slackware では「fcitx5 設定」が動かないのか?です。そこで Slackware ArcoLinux を比較してみます。比較するのは $ ls -l /usr/bin/fcitx5* を実行した結果です。
最初は Slackware

$ ls -l /usr/bin/fcitx5*
-rwxr-xr-x 1 root root 352296 Aug 31 02:52 /usr/bin/fcitx5*
-rwxr-xr-x 1 root root    554 Aug 31 02:52 /usr/bin/fcitx5-autostart*
-rwxr-xr-x 1 root root   4035 Jan 12  2022 /usr/bin/fcitx5-configtool*
-rwxr-xr-x 1 root root  55206 Aug 31 02:51 /usr/bin/fcitx5-diagnose*
-rwxr-xr-x 1 root root  18872 Aug 31 02:52 /usr/bin/fcitx5-remote*

次は ArcoLinux

$ ls -l  /usr/bin/fcitx5*
-rwxr-xr-x 1 root root 350344  8月 30 15:58 /usr/bin/fcitx5
-rwxr-xr-x 1 root root 567800  8月 30 17:35 /usr/bin/fcitx5-config-qt
-rwxr-xr-x 1 root root   4035  8月 30 15:58 /usr/bin/fcitx5-configtool
-rwxr-xr-x 1 root root  55204  8月 30 15:58 /usr/bin/fcitx5-diagnose
-rwxr-xr-x 1 root root 145576  8月 30 17:35 /usr/bin/fcitx5-migrator
-rwxr-xr-x 1 root root  67664  8月 30 17:35 /usr/bin/fcitx5-plasma-theme-generator
-rwxr-xr-x 1 root root  18456  8月 30 15:58 /usr/bin/fcitx5-remote

見て分かるとおり Slackware は多少ファイルが足りてない。多分 fcitx5-config-qt と見当をつけます。
それで Arco からこのファイルとこれを実行するのに必要なシェアードライブラリを Slackware に入れてみました。強引、笑。
そうしたところ、Slackware でもちゃんと「fcitx5設定」が動き IM の指定が出来るようになりました。無事に IM が動きました。

ようするに fcitx5-mozc が使えるようにするには「fcitx5設定」を動かすなどして設定ファイルを用意する必要があるということです。

準備として「fcitx5-mozc を動かすために何をしなければいけないか」を確認したので、これから以下の作業にかかります。
なお、この確認の結果 7 月に Almalinux で fxitx5-mozc のコンパイルに成功したのに動かせなかったのか理由が理解出来ました。上の話でした。


** インストール **

 ここにコンパイル済みのバイナリー等を固めたtar 玉をアップしておきます。パッケージ2
mozc のライセンスは google のものです。ライセンスが同封してあるのでそれに従ってください。
インストール用のスクリプトは用意していませんが、どこに何をコピーするか readme に書いておきました。
icon については ibus-mozc と違って zip に固めたものが無くて複数ヶ所にまたがっていたのでこの tar 玉には入れてありません。
icon は git を実行してソース等を引っ張ってくれば一緒についてきます。icon をインストールするためのスクリプトもその中にあるのでそれを実行してインストールしてください。

これは Slackware-current で動作確認しています。15.0 は glibc のバージョン違いで動きません。15.0 の人は以下のようにコンパイルしてください。

この tar 玉を利用する場合は以下の「コンパイル」は必要ありません。次の「設定出来るようにするために」のところだけで良いです。


** コンパイル **

2023ー03ーxx
 以下の記述も ibus-mozc のところと同様に、2022-11頃の記述でコンパイルできていたのが、2023-03 頃時点でコンパイルできなくなっています。
なぜコンパイルできなくなったか、詳細な理由は分かりません。




 このコンパイル手順は fcitx5 を持たないディストリのための順です。
fcitx5 を持っている Slackware なら最後の fcitx5-mozc を作るところだけ実行すれば良いです。

まず適当なディレクトリを選びます。ホームでも良いし、ホームの中に cmp とか作っても良いです。以下コンパイルするところを「コンパイルディレクトリ」と呼びます。
まずコンパイルディレクトリに CMakeCache.txt というファイルを用意し内容は以下の一行とします。

CMAKE_INSTALL_PREFIX:PATH=/usr

これは何も指定しないと /usr/local/ にインストールされて、次の(または次の次の)ステップでうまくいかないためです。システム標準の場所に入れます。


** (a)まず xcb-imdkit を作る **
コンパイルディレクトリで以下のようにします。

$ git clone https://github.com/fcitx/xcb-imdkit.git
$ cp CM* xcb-imdkit/
$ cd xcb-imdkit/
$ cmake .
$ make -j N
# make install

cmake の後にはコロンがあります。
N は適当に。
これで xcb 関係がコンパイル・インスールできます。


** (b)次に fcitx5 を作る **
コンパイルディレクトリで以下のようにします。

$ git clone https://github.com/fcitx/fcitx5.git
$ cp CM* fcitx5/
$ cd fcitx5/
$ cmake  .
$ make -j N
# make install



** (c)最後に fcitx5-mozc を作る **
コンパイルディレクトリで以下のようにします。

$ git clone https://github.com/fcitx/mozc.git
$ cd mozc/
$ git submodule update --init --recursive
$ cd src/
$ bazel build -c opt --copt=-fPIC  --config oss_linux  unix/fcitx5:fcitx5-mozc.so server:mozc_server gui/tool:mozc_tool

これで fcitx5-mozc が出来上がります。make install とは行かないので中にあるスクリプトを見て手動またはスクリプトを利用してインストールします。
上記にアップした tal 玉の中に readme を入れておきました。そこにもインストールの方法を書いておきました。

問題は、次の設定です。それが出来ないとうまく mozc が使えません。ibus-mozc と違って fcitx5-mozc はここがちょいと手間です。



** 設定出来るようにするために **

話の準備に書いたとおり、fcitx5-configtool (fcitx5 設定)が動かないと設定ファイル(コンフィグファイル)が作れません。
設定ファイル(コンフィグファイル)を作らないと mozc が動きません。
いくつかの方法をやってみます。

方法1.
fcitx5-config-qt のソースを探し、コンパイルして、インストールする。
正攻法です。

方法2.
別のディストリから設定済みのコンフィグファイルを持ってきてそれをそのまま利用する。
正攻法がうまく行かないときに考えます。

方法3.
話の準備、でやったように ArcoLinux などから必要なプログラムファイルとシェアードオブジェクトフィアルを持ってきて、そのまま使う。
強引なやり方で fcitx5-configtool を動かします。正攻法がうまく行かないときに考えます。


やってみた結果
方法1.
ネット上を探しても直接 fcitx5-config-qt の名前では source code を見つけられませんでした。あったのは

fcitx5-configtool

だけです。いかにもそれっぽい名前なのでこれだろうと見当をつけました。が、コンパイル出来ませんでした。
Arch と Slackware の2つでチャレンジしましたがどっちもコンパイルがうまく行きません。なにかパッケージが足りないと想像されます。
この時点で諦めました。一番コンパイルが楽な2つのディストリでうまく行かなければ、Alma Debian などを使っても多分無理でしょう。なのでギブアップです。

方法2.
これは簡単でした。調べてみると設定ファイル(コンフィグファイル)は
$HOME/.config/fcitx5/profile
というファイルです。これを ArcoLinux からコピーしてもってきてインストールしたら、すぐに mozc が動きました。オケです。

方法3.
話の準備でやったとおり、簡単にうまく行きます。
該当ファイルは例えば ArcoLinux から Slackware-current に持ってくるなら

/usr/lib/fcitx5-config-qt
/usr/lib/libFcitx5Qt5DBusAddons.so.1
/usr/lib/libFcitx5Qt5DWidgetsAddons.so.2

です。他のディストリ例えば Debian Ubuntu 等からでも類似のものを持ってくることができそうです。