概要
WSL上のUbuntuを使い始めてしばらくは、fcitx-mozcの設定が上手く行かなかったので、日本語入力はEmacs上でしか行っていませんでした。 そちらでは日本語変換の品質が低いので、やはりmozcを使いたくなりました。
Emacs上だけmozcを使うこともできそうですが、Chromeなどでもできれば使いたいので、IM(Input Method)で使えるようにします。
日本語 Remix では ibus-mozc が採用されていますが、いろいろトライしてみてもWSL上では動作しなかったので、fcitx-mozc を使うことにしました。
Ubuntu IM (Input Method)、特にfcitxとibusについて もご覧ください。
現時点では、下記に記載した内容は、どれが必須で、どの順番で行えばよいのかを確定できていません。
トライ&エラーで何度か実行することで、使用できるようになりました。
日本語 Remixに追加されているパッケージをインストール
Ubuntu 22.04 の場合
sudo wget https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -P /etc/apt/trusted.gpg.d/ sudo wget https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -P /etc/apt/trusted.gpg.d/ sudo wget https://www.ubuntulinux.jp/sources.list.d/jammy.list -O /etc/apt/sources.list.d/ubuntu-ja.list sudo apt update
$ sudo apt-get install ubuntu-defaults-ja
日本語言語パックのインストール
$ sudo apt -y install language-pack-ja
Windowsの日本語フォントを使用する設定
$ cat << 'EOS' | sudo tee /etc/fonts/local.conf <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <dir>/mnt/c/Windows/Fonts</dir> </fontconfig> <!-- Created by bash script from https://astherier.com/blog/2021/07/windows11-wsl2-wslg-japanese/ --> EOS
キーボードを日本語配列にする
日本語関連設定が何もされていない場合、下記のようになっているはずです。
$ localectl System Locale: LANG=C.UTF-8 VC Keymap: n/a X11 Layout: us X11 Model: pc105
jp106 に設定します。
$ sudo localectl set-x11-keymap jp jp106
$ localectl
System local: LANG=C.UTF-8
VC keymap: jp106
x11 Layout: jp
x11 Model: jp106
ロケール
日本語ロケールの追加
下記を実行し、ja_JP.UTF-8 をマークすることで、日本語ロケールがインストールできます。
最後にシステムロケールの選択ができます。
$ sudo dpkg-reconfigure locales
システム上のメッセージ(マニュアル、エラーなど)を全て日本語にしたい場合には、システムロケールは Ja_JP.UTF8 にするのが良いと思います。 私は、英語のままがよいので C.UTF-8 にしています。
システムロケールの選択
コマンドで行う場合には下記のように設定できます。
$ sudo update-locale LANG=C.UTF8
$ sudo update-locale LANG=ja_JP.UTF8
fcitx-mozc のインストール
$ sudo apt install fcitx-mozc
fcitx-mozc の設定
~/.profile に下記を追記します。
export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export DefaultIMModule=fcitx if [ $SHLVL = 1 ] ; then fcitx-autostart > /dev/null 2>&1 xset -r 49 fi
im-config
$ im-config&
fcitx を選択します。
fcitx-config-gtk3
$ fcitx-config-gtk3&
- Input Method のタブで Mozc を追加します。
- また、ここで一番上が 「Keyboard – English (US)」 (「キーボード – 英語 (US)」)になっている場合は、これを削除し、新たに 「Keyboard – japanese」(「キーボード – 日本語」)を追加し、一番上になるように移動します。
- 全角/半角 キーで Mozc へ切り替える場合
- Global Config のところで Trigger Input Method のところを Zenkakuhankaku に設定します。
- Extra key for trigger input method は Disable にします。
- ショートカットの設定変更
- インライン入力の設定
- Fcitx: リアルタイム入力(インライン入力)のための設定 – DEV Community
- 私の環境ではインライン入力ができておらず、日本語入力が別ウィンドウで行われる状態です。上記を参考にインライン入力の設定はできたのですが、表示は変わらずでした。
gnome-tweaks
gnome-tweaks で Gnome の設定を開くことができます。
apt install gnome-tweaks
キーボード設定など、ここから設定できるものもあるかもしれません。
dpkg-reconfigure keyboard-configuration
コンソールで使うキーボードレイアウトの設定ができるようですが、WSLからだと下記のメッセージが表示され、実行できません。
$ sudo dpkg-reconfigure keyboard-configuration
Your console font configuration will be updated the next time your system
boots. If you want to update it now, run 'setupcon' from a virtual console.
参考
参考ページ
xset -r の意味
上記より
xset -r は、キーのリピートを無効にするという意味合いで、全角・半角キーと重複するキーコード 49 『 ` 』が無駄にリピート入力されるバグを抑える働きをする。
gnome-session-properties
gnome-session-properties でスタートアップ設定ができるようです。
$ sudo apt install gnome-startup-applications
$ gnome-session-properties
その他の参考ページ
- fcitxで作るWSL日本語開発環境 #WSL – Qiita
- Ubuntu18.04+WSLでfcitx-mozcを使って日本語入力出来るようにする – もやし日誌
- 日本語入力の設定(fcitx + mozc) – Note to Self by notekunst
- Linuxでキーボードレイアウトが日本語配列にならない時の対処法 | 普段使いのArch Linux
- Ubuntu 22.04 その98 – 入力ソースとキーボートレイアウトと日本語入力のカスタマイズ – kledgeb
- 【Ubuntu】キーボードの初期設定 – Inside the Black box .
- トラブルシューティング(Ubuntu 20.04LTS on WSL2)