読者です 読者をやめる 読者になる 読者になる

おふとんガレージ

技術的なことの忘備録とか

Bash on Windowsで遊んでみた

忘備録

Thinkpad X240に今更ながらWindows 10 Anniversary Updateを適用した。
とりあえずの第一印象はスタートメニューが若干変わったなーくらい。

あと大きな変更点と言えばBash on Ubuntu on WindowsがInsider Programに参加してなくても使えるようになった点。
個人的に惹かれてはいたもののいかんせん面倒くさくて放置してたので今更ながらうちで使ってる環境の紹介と感想をば。

やったこと
下準備

  • ConEmuインストール
  • Xmingインストール
  • Windows10 開発者モードへの変更

Bash on Windows導入

  • 機能追加
  • zsh, git導入
  • oh-my-zsh導入 テーマ変更
  • もろもろ


ConEmuインストール
流石に素のcmd.exeだと色々と味気ないので評価が高いコンソールエミュレータとしてConEmu導入
oh-my-zshのテーマの一つであるagnosterすきすきマンなのでPowerLineフォントを入れる必要があったのだが、いかんせんcmd.exeにしろPowerShellにしろフォントの変更が面倒だったので導入。
PowerLineフォント入れなくても文字化けしないのとタブが使えるのはもっそい便利。
最初お世話になってるterminatorを入れようとしたけど文字化けの対処にコケたのは内緒
bash.exeを起動してると矢印キーが効かない不具合があるので以下の呪文をSettings-Startup-Tasksに追加しておくと捗る

C:\windows\system32\bash.exe -l -i -cur_console:p1 -new_console:p:n 

あとはこれを適当な名前としてタスクとして保存、これでタブを追加する時に矢印キーが正常に使える状態でbash.exeを起動するオプションが追加される。あとはカラースキームをいつものsolarizedにしたりした。

Xming X Server for Windowsインストール
ググれば一発で出てくるので省略、ちゃんとフォントも入れたけど日本語文字化け問題は解消せず。

Windows10 開発者モードへの変更
スタート-設定-更新とセキュリティ-開発者向け

開発者向け機能を使うから開発者モードをオンに
とりあえず下準備は終了。やりました。

機能の追加
コントロールパネル-Windowsの機能の有効化または無効化
Windows Subsystem on Linux (beta)のチェックをonに

とりあえずcmd.exeを起動しbashと入力、色々出てくるので画面に従って進めればおk。

その他
この先は個人の好みなのであっさりと

oh-my-zshのインストールスクリプトを走らせるためにはgitが必要なので導入
同時にGUIも一応使えるようにx11-appsも、あとは肝心のzsh

sudo apt-get install git zsh x11-apps

sudoするといちいちうるさいので/etc/hostsを若干追記
最初の行を

127.0.0.1 localhost (マシン名)

に変更すれば鬱陶しいunable to resolve hostなんちゃらってエラーは消える。

oh-my-zshをインストール

cd
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

~/.zshrcを編集

変更前
ZSH_THEME="robbyrussell"
変更後
ZSH_THEME="agnoster"

デフォルトシェルの変更が出来ないので~/.profileの適当なとこに一行zshと追加、多分もっと良いやり方があるはず。


その他メモ

  • Çドライブ、Dドライブ等は/mnt以下にマウントされる
  • 起動時のディレクトリは/mnt/(Windowsのインストールドライブ)/Users/[UserName]

ここに.zshrcなり.vimrcなり置いても無意味なので、一回cdコマンドで/home/[UserName]に移動する癖をつけた方がいいかも?

  • だいたいのものはapt-getでなんとかなる、フォントに目を瞑ればGUIも使える

日本語表記が時々乱れるとかもあるけど、なんだかんだで実用性もあるしこれから積極的に使っていきたいところ。
vagrantみたいに見れるディレクトリに制限が無いのはありがたい。ミスったら全部吹っ飛ぶ危険はあるけど。