BoW(Bash on Ubuntu on Windows)をかっこよくしようとしたらちょっと躓いた話
久しぶり(1年以上ぶり)の更新になります。
記事にするネタはあっても、やっぱり能動的に記事にしようとする意思がないとダメですね。
とりあえずメモとして残しておきたいことがあったので、更新することとなりました。
Bash on Ubuntu on Windows
今回の記事はBash on Ubuntu on Windows(以下、BoW)が導入済みであることが前提になります。
BoWは2016年8月2日のWindows 10 Anniversary Updateにて登場したものです。個人的にアップデート内容の中で一番注目度が高かったのでは? とも思っているくらいです。
簡単に言えば、Windows上でBashが利用できるものになります。
というわけで、私もわくわくしながら導入したのです。
ですが、素のままのBoWはコマンドプロンプトで実行されることもあり、端的に言ってダサい。
環境を作るだけ作って満足してしまうという私の悪癖もあって、特に利用することもなく時は流れて行きました。アップデートの時期から随分と経った今になって記事にしているのは、つまりはそれまでほぼほぼノータッチだったということからです。
どうやってダサくなくするか
BoWはそのまま使うとダサい。
それは何故か?
まあ、そこは個人の好みとかもあると思いますが、私から見ればコマンドプロンプトだからダサいんですよね。
というわけで、そこをなんとかしたい。
ターミナルエミュレータなんかを探してみると、まあいろいろ見つかりますよね。
有名所だとminttyとかConEmuあたりになると思います。
今回は私の好みからminttyを採用しました。
wsltty
BoWをminttyでまともに使うとなると、当然ながらもろもろ設定が必要になります。
そういうの面倒だな~一気にやってくれないかな~な人におすすめなのがwslttyになります。
ここでダウンロードできるインストーラを実行すれば、面倒な設定までやってくれた上でminttyによるBoW環境が出来上がってしまうとのこと。
実際にインストーラを実行してみると、導入自体はサックリと終わってしまいました。サックリと行き過ぎてどうしていいかわからなくなるレベルです。
デスクトップを見てみるとショートカットが出来ていました。
これでwslttyの導入は完了……?
wslbridge error: failed to start backend process
まあ、これだけで済んでいたら今頃私はこの記事を書いてはいません。
出来上がったショートカットから実行してみると、minttyは起動してもBoWは利用できない。
具体的には、下の画像のようになりました。
なんでやって感じです。
wslbridge error: failed to start backend process
エラーの内容はまあ、wslbridgeのバックエンドプロセスがスタートに失敗したと。
当たり前ではありますが、複数個出来上がったショートカット全部がこんな感じでうまく起動できません。
インストーラを実行するだけでウィザードなんかもない、ただそれだけのインストール手順で一体なにを失敗したのか……。
解決方法
これ以上引っ張っても仕方ないので、もう私が解決できた方法書いちゃいます。
早い話が、wslbridgeのbackendをこっちでmakeしました。
以下の手順はBoWで行っています。
きっとこの作業が、クソダサBoWを見る最後の作業となるでしょう。
$ git clone https://github.com/rprichard/wslbridge.git $ cd wslbridge/backend $ make 以下、make プロセス ・ ・ ・ $ cp ../out/wslbridge-backend /mnt/c/Users/{ユーザ名}/AppData/Local/wsltty/bin/
そうして、もう一度ショートカットを実行してみると、無事Bashが立ち上がりました。
終わりに
終わってみれば単純なことですが、躓いた当初は調べてもあまり情報も見つけられず、わりと苦労しました。
果たして、わりと苦労して導入したこのBoW環境。
まともに利用するときは来るのだろうか……。
また、こんなものが表示された頃に会いましょう(?)