WSL内のGoLand1をVcXsrv経由で使う際、日本語入力で困る人は多い。最低限入力できるようになるまでの手順を残しておく。
2021/08/09現在、GoLandの日本語入力まわりに不具合があるらしく、そのあたりがハマりどころになっている。おそらく以下の不具合と同様の問題と思われる。
IntelliJ IDEA 2019.2等でmacOS環境において日本語入力中に発生する問題と回避策
uim-mozcのインストール
まずは普通にIMEを使える状態にする。
ここではuim-mozcを利用する。fcitx-mozcやibus-mozcよりも依存が少なくコンパクトかつシンプルに思えるので個人的にはuim-mozcがおすすめ。
sudo apt install uim uim-mozc uim-xim
uim-mozcの設定と起動
mozcをuimに登録する。
sudo uim-module-manager --register mozc
以下の環境変数を設定し、uim-xim
を起動する。ぼくは$HOME/.profile
に書いている。
export GTK_IM_MODULE=uim
export QT_IM_MODULE=uim
export XMODIFIERS="@im=uim"
export UIM_CANDWIN_PROG=uim-candwin-gtk
uim-xim &
これで一度再起動し、xtermやgeditなど適当なXアプリケーションで日本語入力できることを確認すると良い。
デフォルト設定ではShift + SpaceでIMEを切り替えられる。設定はuim-pref-gtk
で変更できる。
しかし冒頭で述べた問題があるため、これだけではGoLandで日本語入力できるようにはならない。
GoLandの起動に使用するJavaランタイムを切り替える
ワークアラウンドとして、GoLandに同梱されているJavaランタイムを使わないようにする。少し前から同梱されるようになったJavaランタイム2の問題らしい。
まずJavaランタイムをインストールする。とりあえず安定して動きそうなdefault-jre
で良い。JDKは必要ない。
sudo apt install default-jre
インストールしたJavaランタイムが使われるようにJAVA_HOME
もしくはGOLAND_JDK
を設定する。
export JAVA_HOME=/usr/lib/jvm/default-java
これでgoland.sh
を実行してGoLandを起動すれば日本語入力ができる状態になっているはず。
別の手法として、ランタイムを切り替えられるようにするプラグインを使う方法もあるらしいが、こちらは試していない。個人的にはJava 8相当の古いランタイムを使う気にはなれなかった。
その他の参考
- Uim を使って日本語を入力 - ArchWiki
- WSLでuim-mozcを使う - cobodoのブログ
- 20.04 Focal Fossaではsource listの追加は不要
- WSLでIntelliJを動かして、Windowsでも最高の開発環境を手に入れる | あそびば32