LoginSignup
33
36

More than 3 years have passed since last update.

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

Last updated at Posted at 2018-06-04

やっぱり本命はこっち

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

関連記事
* 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

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

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

33
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
36