« Bash on Ubuntu on WindowsでemacsやRStudioをインストールしてX Windowで動かす | トップページ | Bash on Ubuntu on Windows 14.04LTSから16.04LTSにアップグレード »

2016.12.25

Bash on Ubuntu on Windows とX Windowの組み合わせで日本語表示と日本語入力(その2)

Bash on Ubuntu on Windows (Windows Subsystem for Linux (WSL))において日本語を入力する方法について以下の記事に書きました。
Bash on Ubuntu on Windows とX Windowの組み合わせで日本語表示と日本語入力

また、WSLにおいて各種X Windowアプリケーションを動かす試みを書いております。
Bash on Ubuntu on WindowsでemacsやRStudioをインストールしてX Windowで動かす

その後、以下の記事から、uim-fep以外のUIMブリッジを利用して、日本語入力ができることが分かりました。
bash on Ubuntu on Windowsを試してみる:kashiの日記
ありがとうございます。

この記事に触発されまして、(emacs以外の)X Windowで動作するアプリケーションで日本語入力する点について少々試してみましたので、その過程をメモ。

なお、本記事に記載した内容は、Windows 10 Pro Insider Preview Build 14986で確認しています。

今回、次の2点を取り扱います。
1.WSLの日本語入力環境の改善
2.MKLの改善点
3.番外

1.WSLの日本語入力環境の改善

日本語表示については、以下の記事のとおり環境変数を設定しました。
Bash on Ubuntu on Windows -- Build 14342
今回、uimをとGUIツールキットを活用する方針で、改めて設定を見直してみます。

X WindowのGUIアプリケーションでも日本語入力できるか試してみます。
そのために、まず、UIMとuim-ximブリッジをインストールします。


$ sudo apt-get install uim uim-xim uim-anthy

以前の私の記事では、xterm上でuim-fepを使ってターミナルへのUIMブリッジを使ったのですが、ここでは上の記事を参考に軽量デスクトップLXDEで利用されているLXTerminalをインストールして使ってみることにします。

$ sudo apt-get install lxterminal
$ DISPLAY=localhost:0.0 XMODIFIRES=@im=uim GTK_IM_MODULE=uim QT_IM_MODULE=uim lxterminal &
このようにしてLXTerminalを使うことができました。

以上を受けて、~/.bashrcの記述を見直します。
日本語表示及び日本語入力関係の設定を以下のとおりとしました。
最初のbash起動時はlxterminalが一つ起動するようにします。

export LC_MESSAGES=ja_JP.UTF-8
export LC_IDENTIFICATION=ja_JP.UTF-8
export LC_COLLATE=ja_JP.UTF-8
export LANG=ja_JP.UTF-8
export LC_MEASUREMENT=ja_JP.UTF-8
export LC_CTYPE=ja_JP.UTF-8
export LC_TIME=ja_JP.UTF-8
export LC_NAME=ja_JP.UTF-8
#
export DISPLAY=localhost:0.0
export XIM=uim
export XMODIFIERS=@im=uim
export UIM_CANDWIN_PROG=uim-candwin-gtk
#export UIM_CANDWIN_PROG=uim-candwin-qt
export GTK_IM_MODULE=uim
export QT_IM_MODULE=uim
#
if [ $SHLVL -eq 1 ]; then
  uim-xim &
  lxterminal &
fi

また、~/.uimの記述を以下のとおり変更しました。
これは、アプリケーションによってはCtrl + Spaceが別の機能に割り振られていたりしてコンフリクトするケースがあり、真面目に一つ一つ対応する方法もあるのでしょうが、やや安直に変換切替キーの種類を増やしております。
追加したのは、「半角/全角」キーで漢字変換をトグル動作するようにし、「変換」キーで変換モード、「無変換」キーで無変換モードに切り替えるようにしています。

(define default-im-name 'anthy)
(define-key generic-on-key? '("Henkan_Mode" "zenkaku-hankaku" "<Control> " "<Control>\\"))
(define-key generic-off-key? '("Muhenkan" "zenkaku-hankaku" "<Control> " "<Control>\\"))
(define-key anthy-extend-segment-key? '("<Control>o"))
(define-key anthy-shrink-segment-key? '("<Control>i"))

次に、Firefoxに挑戦してみます。


$ sudo apt-get install fonts-ipafont
$ sudo apt-get install firefox
$ firefox &

これで、X Windowでfirefoxが動作し、さらに、日本語表示だけでなく、日本語入力もできました。

2016122401


2016122402

コンソールを見ていると、若干エラーが出るのですが、動いています。psコマンドで確認すると、dbus-daemonが動いているので、dbus周りの不具合が改善されているように見えます。
この記事はWSLで動作するFirefoxで書いてます。ただし、画像取り込みは、画面のキャプチャをWindowsでやっている関係で、Windows版Firefoxも併用していますが。

gimpでもこのとおり。
2016122403

2.MKLの改善点

日本語入力からは外れますが、anacondaなど、改善が見られたので降れておきます。

$ lsb_release -a
の結果、Ubuntuのベースは、Ubuntu 14.04.5 LTS であることが分かります。

Bash on Ubuntu on Windowsにpyenvとanacondaをインストールでは、MKLに対応していなかったのですが、今回、anaconda-4.2.0 (Python 2.7.12及びPython 3.5.2)にバージョンアップしてみたところ、nomkl版でなくともscipyが動作することが確認できました。

$ pyenv global anaconda3-4.1.1
$ conda update --prefix /home/tonop/anaconda3 anaconda
$ pyenv global anaconda2-4.1.1
$ conda update --prefix /home/tonop/anaconda2 anaconda
$ python
>>import scipy
>>scipy.test()
※結果が表示される。

Anaconda Python and Spyder with Windows Subsystem for Linux:SciVision
を見ると、Build 14936とUbuntu 16.04で動作が確認されているとのことですが、自分の手元では、上述したとおり、Ubuntu 14.04で動作が確認できました。

3.番外
Jupyterのカーネルが落ちなくなりました。


$ bash --login -i jupyter notebook

で動作します。

|

« Bash on Ubuntu on WindowsでemacsやRStudioをインストールしてX Windowで動かす | トップページ | Bash on Ubuntu on Windows 14.04LTSから16.04LTSにアップグレード »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1024423/68964366

この記事へのトラックバック一覧です: Bash on Ubuntu on Windows とX Windowの組み合わせで日本語表示と日本語入力(その2):

« Bash on Ubuntu on WindowsでemacsやRStudioをインストールしてX Windowで動かす | トップページ | Bash on Ubuntu on Windows 14.04LTSから16.04LTSにアップグレード »