wslbridgeでBash On Windowsを使う
wslbridgeとは?
- Bash On WindowsをWindowsコンソール(コマンドプロンプト)の代わりに、MiTTY(PuTTYから派生したCygwinの標準ターミナルソフト)で使う。
- Windowsコンソールは、フォントの選択が限られるなど日本語対応に制限があったり、BEEP音制御出来ないなど、使いにく面がある。MinTTYの方がコンソールアプリとして洗練されているように思われる。
- しかし、MinTTYはCygwin(あるいはMsys2)のbashを動かす前提で、Bash On WindowsのBashは動かせない。
- これを解決するためにwslbridgeを使う。
ソースコード取得・コンパイル
- Cygwin(Msys2)とBash On Windowsでそれぞれフロントエンドとバックエンドをコンパイルする。
Cygwin - frontend
cd /tmp/
git clone https://github.com/rprichard/wslbridge.git
cd wslbridge/
cd frontend/
make
Bash On Windows - backend
sudo apt-get install build-essential # ビルドツールがインストールされてなければインストールしておく
cd /tmp/
cd wslbridge/
cd backend/
make
インストール
cd /tmp/wslbridge/out/
cp wslbridge.exe wslbridge-backend /c/cygwin/
- コンパイル後にoutディレクトリ以下に、wslbridge.exeとwslbridge-backendができる。
- この2つのファイルを適当なフォルダへコピーする。(CygwinやMsys2のフォルダー直下など)
起動
mintty.exe -e "C:\cygwin\wslbridge.exe"
- 上のようにMinTTYを起動する。
- 起動用のBATファイルを作るか、mintty.exeのショートカットを作って、プロパティを上のようにすると良い。
参考
https://github.com/rprichard/wslbridge