角待ちは対空

おもむろガウェイン

Bash on Ubuntu on Windowsで開発環境を整えてる

最近はBash on Ubuntu on Windowsっていうのがあり、まぁいけるやろと思ったのでやっていく。会社のPC(Mac)の買い替え時期も近いので手元環境(dotfiles)を整理したい、最近dotfilesに関する勉強会をしたのでモチベーションがある、ここ二ヶ月くらいゴミみたいな生活しているのでなにか変わるきっかけにしたいとう色々な思惑がある。

ほぼ日記です。

f:id:t_kyt:20170904090623p:plain

Bash on Ubuntu on Windows以前に

AltキーとWindowsキーを入れ替えたい。AutoHotkeyではできないor茨の未知という雰囲気だったので諦めた。

autohotkey.com

代わりにChange Keyっていう年季の入ったソフトウェア使った。レジストリ書き換えてるっぽいので一回書き換えればその後は立ち上げる必要がない。

forest.watch.impress.co.jp

Bash on Ubuntu on Windows

Bash.exeとは?ストアアプリのubuntuとは?Windows Subsystem for Linuxとは?疑問は尽きないけど、一番新しそうなのでWindowsストアからUbuntuをインストールした。

特にシステム設定いじった覚えはないけど使えてる。Bash on Ubuntu on Windows出たくらいに一回試してるのでその時にいじったかもしれないので、また新しく構築するときにハマるかもしれない。

ここまでできると、PowerShellでubuntuって打つとbashが起動する。

ユーザーの追加は

lxrun /setdefaultuser

ターミナル

cmderが良さそうだったけど、普段エディタはVisual Studio Code使っているのでvscodeのターミナルで結構こと足りてる。

cmder.net

dotfiles

かなり荒れていたので頑張って整理した。

Bash on Ubuntu on Windows特有の注意点としてはWindows上のvscodeからUbuntu上のファイルは操作できない。ので、vscodeで編集したいファイルは/mnt/c/Users/{user名}/以下に置く。普段プロジェクトは全部~/devにおいているのでそこだけは/mnt/c/Users/{user名}/devに設定した。Ubuntuが触る.hogerc等のファイルは~/以下で良い。

peco

pecoが動かなかったのでfzfに乗り換えた。(ちゃんとやれば動くのかもしれないけど、もともとfzfやskimに興味あったのでいい機会だと思い乗り換えた。)意外とtac相当のことがOSによって際があるので--tacオプションでそこを吸収してくれるfzfは便利。あとは--ansiも地味に良い。

感想

意外とすんなり環境構築できた。systemdがいなかったり微妙な差異があるけど今は困っていない。大したことやってないからね。

プロンプトにカラフル情報表示するためにPerlでゴミみたいなスクリプト書いてるんだけど、それが重いのだけ気になっている。Perlの起動が遅いのならば諦めるし、スクリプトの内容が悪いのならば書き換える。何れにせよMacで動かしたときより明らかに遅い。まぁそのへんは頑張ってシステムコール変換している分仕方ないのかもしれないと思って割り切っている。