Creators UpdateでのBash on Windows改善点のまとめ

多くのVTシーケンスの改善

今回のCreators Updateは、俺にとってはBoWの改善が一番楽しみでした!
Bash on Windows(以後BoW)がWindows 10 Creators Updateでどう変わったか?
公式ブログの概略です。

When Windows 10 Anniversary Update (AU) was shipped, the Windows Subsystem for Linux (WSL) was still far from complete, and was known to have many incompatibili...

インストール時の詳細を書いた記事もあわせてご覧頂けますと幸いです。

Windows10のCreators Updateに更新したのでBash on Windowsも更新。 アップグレード手順、フォントの調整、ConEmuとWindows版Vagrantの動作確認をしました。
スポンサーリンク

アップグレード方法

既にBoWをインストールしている場合、Creators Updateを適用しても内蔵のUbuntuは14.04のままなので別途アップグレードが必要です。

ちなみに、この時点で今まで使えなかったpingコマンドなどが使えるようになっています。
また、漢字表示が欠けるなどの症状も改善されています。

Ubuntu上で

を実行しても良いのですが、MSは再インストールを推奨しています。
(俺もあんまりdo-release-upgradeはいい話を聞きません)

再インストールはPowerShell又はDOSプロンプトで

を実行します。
やる前に.bashrcとかのバックアップを忘れないようにね!
俺はやらかしました(T_T)

再インストール後のバージョン表示です。

どんな点が変わったか

では本題です。

すみませんが、ここは俺のブログですから俺が嬉しかった順に紹介します。
なお、画面写真は本家の記事から引用させて頂きました。

WindowsコマンドとLinuxコマンドの相互利用

LinuxからWindowsアプリを起動したり
BoWからWindowsコマンドを立ち上げる
WindowsからLinuxアプリを起動したり
WindowsからLinuxコマンドを呼び出す


ということが出来るようになりました。

俺的に嬉しかったのは、これによってBoWからWindows版のVagrantとVirtualBoxを使えるようになったこと。
パフォーマンスを犠牲にせずに「本物の」Linux環境で作業ができるようになりました。

今まではVagrantの利用はGit Bash上でやっていましたが(BoW内ではVirtualBoxが動かないから)、その他の作業をする時にRubyが入っていないなど「あっ…そういやこれLinuxじゃなかった…(。>﹏<。)」という事がよくあり、その度に枕を濡らしておりました。

完全なLinux環境で全ての作業を出来るようになったので、ネットに転がっているHowTo記事がより参照しやすくなるのではないかと思っています。

Vagrantコマンドに「.exe」さえ付け足せば、Windows版Vagrantが使えました。

エスケープシーケンス対応の改良

多くのVTシーケンスの改善tmuxなどの高度な画面制御を必要とするツールが動かせるようになりました。

…つか、それ以前に、旧BoWでは漢字表示が欠けたり、カーソルの処理が不十分だったので日本語環境では実用できませんでした。

純正コンソールに絶望して速攻でConEmuに行ってしまいましたが、これなら純正コンソールでも常用できそうで嬉しいです。

管理者権限不要でシンボリックリンクが張れるようになった

旧BoWではシンボリックリンクを張るためにはイチイチ管理者権限でコンソールを開き直す必要があったのですが、その必要が無くなりました。

ネットワーク関連コマンド(IfconfigやPing)の対応

なんでpingくらい使えねぇんだよ?普通に要るやろ?と憤ったのも今は昔。
ネットワーク関連のコマンドが動くようになり、より一層互換性が増しました。

INOTIFYによるファイル変更通知機能の追加

ファイル変更通知のサポート

ファイルを修正したとき、Ubuntuに更新が通知されるようになりました。

例えばWindows上のエディタでファイルを弄ると、Ubuntu上のNode.jsなどのアプリケーション・サーバーが検知して自動リビルドが出来るようになります。

より一層クロス開発がやりやすくなりました。

フルカラー対応

フルカラー対応

24bitまでの好きな色が使えるようになりました。カスタマイズが捗るね!

俺はどうでもいいけど…。

マウス対応

マウスサポートMidnight CommanderやHtopなどのリッチなCUIアプリでマウスが使えるようになったそうです。

俺はどうでもいいけど…。

UNIXソケット/Netlinkソケットに対応

「Unixソケット」と「Netlinkソケット」の機能が追加されたとのこと。

門外漢なのでよく分かりませんが、プロセス間通信を使ったアプリのデバッグが出来るようになるんですかね。

TCPソケットとIPv6の改善

IPv6とTCPソケットの機能が強化されている模様。

マウント機能の強化

今回確認したブログには記述されていなかったのでCreators Updateリリース分に適用されているかは分からないが、以下のような機能もあるみたいです。

参照 BoWリリースノート

参照 File System Improvements to the Windows Subsystem for Linux

共有フォルダを直接マウント

こんな感じで共有フォルダを直接マウントできるみたい。
ソースをWindows Serverに置いておくときに捗りそう!

ドライブを直接マウント

元々、固定ドライブは自動的にマウント出来ていましたが、USBスティックやDVDドライブなどの外付けディスクを追加できるようになったようです。

本番機からUSBスティックで持ってきたソースを参照するなんて使い道はどうですかね。
SI屋ならそんな環境ありそうです。

シリアルポートの対応

参照 Serial Support on the Windows Subsystem for Linux

ってことはLinuxで作った制御システムとかもデバッグ出来るようになるのかな。

今までラズベリーパイでやってた家電製品の制御をWindowsでできるようになったりして?

Microsoftの気合を感じた

Linuxを徹底的に忌み嫌い、ハブっていた一時期のことを考えると隔世の感…。
まさか、あのMicrosoftがここまでLinuxに歩み寄ることになるとは…。

WindowsでのLinux系のクロス開発(要はWeb系)においては、ネットの情報がことごとくLinuxかmacOSが前提のものだったため、本当に歯痒い思いをしていましたが、これでmacに引けを取らなくなったのではないでしょうか。

仕事用PCにUbuntuをインストールし直して、Windows 10を仮想マシンで動かそうかと少し前まで割とマジで考えていましたが、考え直すことにしました。

なお、Windows 10に換えてみたいと思った方は下記の記事も読んでみてください。
BoWはHome/Proどちらでも使えますよ!

Windows 10を買うためには下記3つのポイントを押さえる必要がありますので分かりやすく説明します。 ①HomeとPro ②通常版とDSP版 ③店頭と通販