ChromebookでJava製のアプリを実行するの続き。

ChromebookでJava製のアプリを立ち上げた時、日本語入力ができなかったので、手順は端折るけれども、Ubuntuのマシンで行った操作の後にJava製アプリを立ち上げたら、今の時点では日本語の対応はされていないという旨のメッセージが表示された。


調べていくと、


Google製の日本語入力のMozcとFcitxを利用すればいけるらしい。

Google 日本語入力 - Wikipedia

Fcitx - Wikipedia


Linuxアプリの日本語対応は下記のページを参考にして設定を進めた。

【Chromebook】Linuxの初期設定まわりメモ(Linuxアプリで日本語入力できるようにする等/書き足し中)- 情報科学屋さんを目指す人のメモ


とりあえず、現時点でのバージョンを記載しておく

Chrome OS:バージョン: 90.0.4430.86

CPU:ARM64

※日本語関連のパッケージはインストール済みらしいので、パッケージの確認は端折ることにする。

※ARM64は以前はMozcを手動でコンパイルする必要があったらしいが、最近は必要ないらしい


最初に日本語入力を設定できたか?を検証するために軽量なエディタのgeditをインストールしておく。

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install gedit

gedit - Wikipedia


早速、Mozcのインストールを行う。

最初にlocaleの設定を行う。

# 設定ファイルの編集はnanoで行うことにする
$ sudo apt install nano
$ sudo nano /etc/locale.gen

locale.genの中身が表示されたら、ja_JP.UTF-8 UTF-8のコメントアウトを外し保存する。


# ja_JP.UTF-8の反映
$ sudo locale-gen
$ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"

端末のアイコンを右クリックし、Linuxをシャットダウンをし、再び端末を立ち上げた後、下記のコマンドでlocaleの設定が反映されているか?を確認する。

# localeの設定の確認
echo $LANG

localeの設定が終了したらMozcのインストールに移る

$ sudo apt install fcitx-mozc
$ im-config -n fcitx

※必要なライブラリは上記のコマンドですべて入る


次にFcitxの設定を行う

$ sudo nano /etc/systemd/user/cros-garcon.service.d/cros-garcon-override.conf 

cros-garcon-override.confを開いたら、下記の記述を追加する。

Environment="GTK_IM_MODULE=fcitx"
Environment="QT_IM_MODULE=fcitx"
Environment="XMODIFIERS=@im=fcitx"

Fcitxの自動起動の設定を行う

$ sudo nano ~/.sommelierrc

.sommelierrcを開いたら、下記の記述を追加する。

/usr/bin/fcitx-autostart

諸々のファイルの編集が終了したら、下記のコマンドを実行する。

$ fcitx-autostart

一通りの処理が終了したら、新しく端末を開き(もしくはアイコンを左クリックでLinuxをシャットダウンし、再び端末を開く)、下記のコマンドを実行する。

$ fcitx-configtool


ウィンドウが表示されたら、画面左下の+のボタンをクリックし、



Mozcを探して加える。

※Only Show Current languageのチェックボックスを外して検索



Input MethodにMozcが加えられたら、並び順を一番上にして閉じる。




端末を閉じ、再び端末を開いて、

$ gedit

geditを開いてみる。



無事、日本語入力できるようになったけれども、なんか動作は怪しい。

とりあえず、今回はここまでにしておく。


追記

geditで子音 + 母音のひらがなを入力するときにEnterを押されたような挙動になり、ひらがなが入力できないことがあったが、他のアプリ(Visual Studio Code)ではgeditで見られたような症状が見られなかったため、gedit特有の問題の可能性が高い。


追記2

今回の対応で、Javaの方も日本語入力ができるようになっていた。