Windowsは長年、Windowsコンソールホストと呼ばれるコマンドラインUI環境を提供してきた。

Windows 10時代もUnicode化や内部構造の見直しなど、多くの改良を加えてきたが、WSL(Windows Subsystem for Linux)の登場をきっかけにMicrosoftは、エスケープシーケンス(仮想ターミナルシーケンス)のサポートを経て、Windowsターミナルへの移行を推進している。

  • Windowsコンソールホストの実体である「conhost.exe」

Microsoftは公式ドキュメントでも、WindowsコンソールAPIの段階的廃止を表明し、Windowsターミナルへの移行をうながしている。Windowsターミナルの将来像はこちらで確認できるが、同社が12月中旬に公開した公式ブログでは今後、Windows 11の既定ターミナルアプリをWindowsターミナルに置き換えることを明らかにした。

では、既定のターミナルアプリとは? と読者諸氏は思われるのでないだろうか。その答えは、端的に述べれば「コマンドラインアプリの実行環境を選択できる」ものである。従来はOSがフックしていたターミナルアプリだが、Microsoftはこの部分を解放し、推奨アプリとしてWindowsターミナルを提唱しているのだ。

既定のターミナルアプリとして、Windowsコンソールホストを使い続ける利点は少ないため、コマンドラインアプリの使用頻度が多い方は、以下の手順で設定を変更しよう。

  • 「Ctrl」+「,(カンマ)」キーを押すか、矢印ボタン→「設定」と順にクリック/タップする

  • 「スタートアップ」に並ぶ「既定のターミナルアプリケーション」のドロップダウンリストを開き、「Windows Terminal」を選択してから「保存」をクリック/タップする

  • 「設定」の「プライバシーとセキュリティ/開発者向け」からも、既定のターミナルアプリを変更できる

下図はエクスプローラーからバッチファイルを実行したものだが、コマンドラインアプリを実行するターミナルアプリが切り替わっていることにお気付きだろうか。

ただし、バッチファイルを管理者権限で実行する際は、Windowsコンソールホストが起動した(Windows 11 バージョン21H2)。この辺りは今後改善していくのだろう。

  • 既定アプリをWindowsターミナルに変更した状態

  • 既定アプリをWindowsコンソールホストのままにした状態

  • PowerShellのプロパティダイアログでも、使用するターミナルアプリを選択できる