fcitxで作るWSL日本語開発環境


やっぱり本命はこっち

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

関連記事
* Scoopで作るLinux on Windows開発環境
* Windows Subsystem for Linux(旧bash on windows)からPhpStormを動かす
* Bash on Ubuntu on Windowsを使う(1)
* Bash on Ubuntu on Windowsを使う(2):初期設定
* Bash on Ubuntu on Windowsを使う(3):WindowsからLinuxを使う


------------------- ↓ 余談はここから ↓-------------------
以前、scoopを使ってLinux開発環境を構築した。
ただ、やはりLinux開発環境といえばWSLでいきたいところ。
IDEも含めて全部Linuxにできればと、
Windows Subsystem for Linux(旧bash on windows)からPhpStormを動かす

で実現できることは確認できた。
あとは、GUIや日本語入力がどうにかできれば、
開発環境は完璧といった具合だろう。

ということでWSL上でIDEを動かし、
日本語入力できる状態まで持っていく方法を探る。


------------------- ↓ 本題はここから ↓-------------------

fcitxのインストール

windowsフォントのインストール

$ sudo apt -y install fontconfig
$ sudo ln -s /mnt/c/Windows/Fonts /usr/share/fonts/windows
$ sudo fc-cache -fv

fcitxのインストール

WindowsでいうIMEにあたるものがLinuxでは
「日本語変換エンジン」と「入力インタフェース」に分かれており、
エンジンにはGoogle製のmozc(モズク)を、
インタフェースにはfcitxを使う。

$ sudo apt -y install fcitx-mozc dbus-x11 x11-xserver-utils # 結構長いです
$ dbus-uuidgen > /var/lib/dbus/machine-id

fcitxの設定

$ set -o noclobber # 念のため
$ cat << EOS >> .profile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export DefaultIMModule=fcitx
xset -r 49 # 半角全角点滅防止
EOS
$ source .profile

xアプリで実験

Windows上でVcXsrvを起動しておく。

$ sudo apt -y install lxterminal
$ lxterminal &

ターミナル上でCtrl+Space

これで日本語環境もバッチリ。

前回の記事のようにphpstorm起動すると、
日本語入力できることが確認できた。


------------------- ↓ 後書はここから ↓-------------------

半角/全角キー点滅問題

インストール完了してfcitxを起動するため、
半角全角キーを押すと点滅した状態になる。
LinuxとWindowsとのやり取りの問題だと思うが、
理由ははっきりしない。
ただ、以下の設定をすれば回避できる模様。

$ xset -r 49

fcitx-autostart問題

使うたびに実行する必要があるfcitx-autostart。
起動時に自動で発動するようにしておきたい。
ただ、初期起動でログをガンガン吐き出す変態仕様。

いろいろ考えて、
ログをもみ消す形で決着。

.profile
if [ $SHLVL = 1 ] ; then
  xset -r 49  > /dev/null 2&>1
  (fcitx-autostart > /dev/null 2&>1 &)
fi

うーん。微妙。。。
シェルはよーわからん。