Bash/WSLとWindows Consoleの新機能と変更点(後編)
後編では、「Windows Console」と「コマンドライン」の新機能と変更点を紹介します。ユーザーが直接触れるのはコマンドプロンプトですが、コンソールにも大きな改善が施されています。
約2年前に結成された新しいWindowsコンソールチームは、30年以上に渡り利用されてきたコンソールを徹底的に改良しました。
この改良における主軸は、LinuxのコマンドラインツールやWSL上で動作するアプリケーションの出力を行うために必要な機能の実装です。
またコンソール内部の実装見直しも行われ、基礎の強化やリファクタリングが行われています。
1.VTシーケンスのサポート改善
「Windows Console」は元々*NIXをサポートしておらず、*NIXコマンドラインツールやアプリケーションが出力するANSI escape codeやVTシーケンスを正しく扱うことができませんでした。「Windows 10 Anniversary Update」ではコンソールが改善され、多くの共通的なVTシーケンスを解釈できるようになりました。
これにより、大多数の簡潔なテキストフォーマットを正確に描画できるようになりました。
しかしまだそれでは不十分です。
「Windows 10 Creators Update」ではさらに多くのVTシーケンスを解釈できるようになり、「vim」や「emacs」、「Midnight Commander」、「tmux」、「htop」といったTUIアプリケーションのリッチなUIを描画できるようになりました。
補足
日本語環境ではフォント(レンダリング)が原因なのか分かりませんが、描画が崩れます。2.24bitカラーのサポート
「Windows 10 Creators Update」では、コンソールが24bitカラーをサポートしました。3.マウスのサポート
「Windows 10 Anniversary Update」では、コンソールがマウスをサポートし、TUI上でマウス操作が可能になりました。4.管理者権限なしにシンボリックリンクが作成可能に
Linuxではシンボリックリンクがよく利用されます。しかしWindowsでシンボリックリンクを作成するには、管理者権限が必要でした。
そのためコンソールからシンボリックリンクを作成するには、コマンドプロンプトを管理者として実行する必要がありました。
「Windows 10 Creators Update」では、「開発者モード」を有効にすると管理者権限がなくてもシンボリックリンクを作成できるようになりました。
詳細は、以下を参照してください。