Posted at

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

More than 1 year has passed since last update.

やっぱり本命はこっち

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

関連記事

* 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 # 結構長いです


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

xwindow_fcitx02.PNG

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

前回の記事のように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

うーん。微妙。。。

シェルはよーわからん。