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相当の古いランタイムを使う気にはなれなかった。

その他の参考


  1. 他のJetBrains製品で読み替えても良い。 ↩︎

  2. JBR11(JetBrains Runtime 11)と呼ばれるもの。 ↩︎