Posted at

Bash on Ubuntu on Windows でのSKK日本語入力FEPやMicrosoft IMEによる日本語入力

More than 3 years have passed since last update.


目的

Bash on Ubuntu on Windows のデフォルトで提供されているコンソールでは日本語入力が出来ません。

CmderとかConEmuとかを使ってbashを起動するといくつか問題がありますが一応日本語入力出来ます。その設定をご紹介します。

私はSKK日本語入力FEPを常用していますのでこちらも試しています。

http://coexe.web.fc2.com/skkfep.html

なお、cmderはConEmuにmsysgitとかをパッケージ化したものです。

細かい違いがありますがそのあたりは好みで選べばいいと思います。


cmderの場合

http://cmder.net/

miniをダウンロードすればbashを使う為には十分です。

Setting -> Startup -> Task で"Bash on Windows"という名前でtaskを作成し以下をcommandに指定します。

これはBash on Ubuntu on Windowsを起動するショートカットで指定されているものと同じ設定です。

C:\Windows\System32\bash.exe ~

cmder_set0.JPG

Setting -> StartupでStartup Optionの"Specified named task"で{Bash on Windows}を選択しておけばcmder起動時にBashが起動します。

cmder_setup2.JPG


注意点

vim上ではカーソルキーが無効となります。

emacsとかでは使えるようです。


ConEmuの場合

cmderの元となったConEmuです。

https://www.fosshub.com/ConEmu.html

以下の記載のようにConEmu側でカーソルキーの問題は対処されています。

デフォルトでBashを使えるtaskが用意されています。

https://conemu.github.io/en/BashOnWindows.html

Setting -> Startup -> Taskの{Bash::bash} で起動します。

無い時は、"Add default tasks..."で追加します。

なお以下のように~ を追加する事でホームディレクトリで開始します。

%windir%\system32\bash.exe -cur_console:p ~

ConEmu2.JPG

Setting -> StartupでStartup Optionの"Specified named task"で{Bash::bash}を選択しておけばConEmu起動時にBashが起動します。

ConEmu1.JPG


共通の注意点

cmder,ConEmuともにSetting-> Main -> fontのMonospaceのチェックを外さないと日本語文字が重なって表示されますので外しましょう。

日本語入力すると文字の間にスペースが入った冗長な画面になってしまいます。

これは保存後は正しく表示されます。

又編集時に文字が多重になったり順番が入れ替わったりします。

ただし表示の問題だけなのでリフレッシュすれば戻ります。

また保存してcatとかで参照する時には問題ないようです。

Corrupt.JPG

Currupt2.JPG

あとSKK日本語入力FEPでは明示的に英語と日本語入力を切り替えないと、日本語入力時には英文字が明確に入力出来無いようです。