• Windows Terminal ベスト設定 第7回 「安定版v1.17 プレビューv1.18と今後の方向性」

Windows Terminalは、現在では、四半期単位でアップデートが行なわれる。2023年第二四半期(2023Q2)のアップデートでは、Windows Terminal Preview v1.18(以下プレビュー版)と、Windows Terminal v1.17(以下安定版)が公開された。今回のアップデートでは、構成やインストール方法などが大きく変わるため、そのあたりを解説したい。

Desktopアプリケーションになった

2023Q2のアップデートでは、Windows Terminalは、ともにデスクトップ・アプリケーションになり、配布形態が変化した。

また従来のUWPアプリではWindows 10とWindows 11版は、Microsoftストアの制限から同一のビルド番号を付けることができず、末尾の数字が異なり、見かけ上多数のパッケージが配布されているように見えた。しかし、今回から同一のビルド番号が付けられるようになり、見かけ上の複雑さが解消された。

また、完全なDesktopアプリになったことから、今回より「Unpackage版」(以下、非パッケージ版と表記)の配布が開始された。また、この非パッケージ版は、設定値をインストールフォルダに保存する「ポータブル版」(ポータブルモード)での運用が可能になった。このあたりを整理したのが(表01)である。

  • ■表1

Windows Terminalは、「パッケージ版」、「プレインストール版」、そして「アンパッケージ版」と「ポータブル版」の4つになり、それぞれ、入手先、インストール方法などに違いがある。

なお、安定版 v1.17、プレビュー版 v1.18ともにDesktopアプリケーションとなり、4つの配布形式に対応した。つまり、今後インストール方法についても変わることになる。

それぞれの特徴とインストール

ここでは、それぞれの特徴とインストールやアップデート方法などについて解説する。原稿執筆時点での最新版は以下のようになっている。

・プレビュー版v1.18
Windows Terminal Preview v1.18.1462.0
https://github.com/microsoft/terminal/releases/tag/v1.18.1462.0
・安定版 v1.17
Windows Terminal v1.17.11461.0
https://github.com/microsoft/terminal/releases/tag/v1.17.11461.0

パッケージ版

パッケージ版は、従来のWindows Terminalとほぼ同じである。インストールは、Microsoftストアから行なうが、ソースコードを公開しているGitHubからmsixbundleファイルを入手してのインストールも可能だ。

パッケージ版の最大の特徴は、自動更新が可能な点にある。Microsoftストア経由で、自動的に更新されるため、アップデートのタイミングを気にする必要がない。

また、エクスプローラーのコンテキストメニューへの登録やシステムの標準コンソールとして従来のconhostの置き換えが可能だ。

なお、自動更新では、不具合の発生が想定されるが、Windows Terminalは比較的、対応時間が短く、たとえば、安定版v1.17も初回のビルドでは、不具合があったものの、5日後には、対応ビルドの配布が始まっている。

パッケージ版と後述のプレインストール版に関しては、パッケージ化のため、コマンドラインからの起動では、「アプリ実行エイリアス」経由となる。アプリ実行エイリアスは、UWPなどのパッケージ化されたアプリケーション実行ファイルの代わりにWindowsが提供する機能だ。通常の実行ファイル(exeファイル)のように扱えるが、実態はリンクになっていて、Windowsがこれを検出してユーザーが直接アクセスできないパッケージ内のアプリケーション本体を起動する。スタートメニューのアイコン登録では同じように見えるが、コンテキストメニューで「ファイルの場所を開く」が表示されない。

Windows Terminalのパッケージ版、プレインストール版では、プレビュー版と安定版は同じアプリ実行エイリアスwt.exeを使うため、どちらか一方を設定で選択する必要がある。選択は、「設定 ⇒ アプリ ⇒ アプリの詳細設定 ⇒ アプリ実行エイリアス」で行なう。

プレインストール版

プレインストール版は、Windows 11に含まれているが、マイクロソフトが公開しているWindows Terminalプレインストールキットを使って、Windowsイメージ(WIMファイル)に組み込むことができる。ただし、これは、ハードウェアメーカー(Windows OEM企業)向けのものであり、一般的には、これを使う必要はない。

プレインストール版は、機能的には、パッケージ版と同じであり、自動更新が行なわれる。Windows 11の一般ユーザーであれば、これを使うのが最も簡単である。

非パッケージ版とポータブル版

非パッケージ版は、ZIPファイルとして配布されるため、任意のフォルダーにインストールが可能だ。

注意するのは、非パッケージ版は、そのままでは、すべて同じ場所(%LOCALAPPDATA%Microsoft\Windows Terminal)に設定を保存する。

安定版、プレビュー版、および複数バージョンが同一の設定になる点に注意が必要だ。非パッケージ版を複数起動した場合、そのうち1つの非パッケージ版で設定を変更すると、他のWindows Terminalにも設定が反映される。これには、便利な点もあるが、一時的に設定を変更するような場合に、起動している他の非パッケージ版Windows Terminalにも影響が及ぶ点には注意が必要だ。

複数バージョン、あるいは安定版、プレビュー版の非パッケージ版Windows Terminalの設定を個別に設定したいときには、非パッケージ版をポータブル版に変換する必要がある。

非パッケージ版をポータブル版に変換するには、以下の手順で行なう。

まず、非パッケージ版のあるフォルダに「.portable」ファイルを作る。中身は何でもよく、同名のファイルさえ存在していればよい。コマンドライン(PowerShell)からは、


new-item .portable -type file

とする。エクスプローラーを使う場合には、該当のフォルダをエクスプローラーで開き、右クリックメニューから「新規作成 ⇒ テキスト ドキュメント」を選択し、作成されたテキストファイルアイコンの名前を「.portable」に変換する。

その後、wt.exeを実行すると、settingsフォルダが作られ、その中に設定ファイルが保存される。これで、非パッケージ版がポータブル版に変換された。

なお、作成した「.portable」ファイルを削除することで、ポータブル版を非パッケージ版に戻すこともできる。ただし、ポータブル版時に使っていた設定は、「settings」フォルダに残ったままになり、非パッケージ版設定フォルダ(%LOCALAPPDATA%Microsoft\Windows Terminal)の設定が、使われる点に注意されたい。

各版の識別方法

パッケージ版とプレインストール版は、同一のものであり区別は付けられない場合が多い。最初はWindows 11のプレインストール版として配布されても、自動更新でパッケージ版になってしまう。

このため、識別は、「パッケージ/プレインストール版」、「非パッケージ版」、「ポータブル版」として行なうことができる。簡易な識別は、Windows Terminalメインメニュー ⇒ バージョン情報で行なうことができる。ここに「ターミナル(パッケージ化されていません)」と表示されるのが非パッケージ版(写真01)、「ターミナル(ポータブル)」と表記されるのがポータブル版(写真02)である。

  • 写真01: メインメニュー ⇒ バージョン情報でインストール方式を確認できる。「ターミナル(パッケージ化されていません)」と表記があるのが非パッケージ版である

  • 写真02: ポータブル版は、「ターミナル(ポータブル)」と表記されている

こうした表記がなく、「Windowsターミナル」(写真03)になるのが「パッケージ/プレインストール版」である。ただし、プレビュー版は、「Windowsターミナル(プレビュー)」(写真04)という表示になる。

  • 写真03: パッケージ版、プレインストール版の安定版では、「Windowsターミナル」という表記になる

非パッケージ版、ポータブル版では、安定版とプレビュー版の区別は、次の行の「バージョン」に「preview」の表記があるかどうかで区別する(写真05)。

  • 写真05: 非パッケージ版、ポータブル版では、安定版とプレビュー版の区別は、バージョンにpreviewの表記があるかないかで行なう

なお、ポータブル版の場合、さらに設定ページの下部にポータブル版であることを示すメッセージ(写真06)が表示される。

  • 写真06: ポータブル版では、設定ページの下に表記が出る。これは、ターミナルの他のインストールとは設定が独立していることを示す

Windows Terminalの起動

パッケージ版、プレインストール版は、アプリ実行エイリアスwt.exeを介して起動が行なわれるため、事前にPATH環境変数などを設定する必要はない。ただし、wt.exeから起動できるのは、安定版かプレビュー版のどちらか一方のみである。

パッケージ版、プレインストール版がインストールされている場合(基本的にはすべてのWindows 11プレインストールマシンがこの条件に該当する)、非パッケージ版やポータブル版は、インストールフォルダにあるwt.exeを直接起動する必要がある。コマンドラインからは、フルパスを指定するか、インストール先ディレクトリで、カレントフォルダの「.\wt.exe」を起動する。

PATH環境変数を指定しても、アプリ実行エイリアスが優先されるため、コマンドラインで単に「wt.exe」とすると、アプリ実行エイリアスを経由して、パッケージ版またはプレインストール版である安定版またはプレビュー版が起動することに注意していただきたい。

非パッケージ/ポータブル版の起動

非パッケージ版のインストールフォルダを見ると、複数の実行ファイルがあり、そのうち「wt.exe」と「WindowsTerminal.exe」は、同じWindows Terminal(もしくはプレビュー版Windows Terminal)アイコンを持っている。また、これとは別にopenconsole.exeという実行ファイルもある。基本的には、wt.exeを起動に利用する。

UWP形式だったとき、wt.exeは、アプリ実行エイリアス用の実行ファイル名であり、WindowsTerminal.exeは、GUI部分のみを担当するUWPアプリケーションで、openconsole.exeがWindows Terminalの本体だった。

Desktopアプリケーション化したとき、過去からの互換性のため、wt.exeが起動用ファイルとして残された。このため、通常は、wt.exeを起動して行なう。ただし、WindowsTerminal.exeでも起動は可能で、どちらで起動しても、プロセスのイメージ名は、WindowsTerminal.exeである。

これに対してopenconsole.exeは、従来のconhost.exeを置き換えるためのWindows Terminal側のプログラムである。実際には、openconsole.exeは、conhost.exeのオープンソース版である。同じソースコードがWindowsのconhost.exeになるが、ビルドするタイミングの違いで、プレビュー版のopenconsole.exeのほうがバージョンが進んでいる。openconsole.exeを起動すると、以前の「コマンドプロンプト」ウィンドウと同じものが開く。

Windows用に作られたコンソール・アプリケーションは、conhost.exeの子プロセスとして動作する。WindowsTerminal.exe(wt.exe)から起動されたシェルでは、conhost.exeの代わりにOpenConsole.exeが起動し、conhost.exeの代わりを務める。

安定版、プレビュー版ともにプログラム構造が変更になり、自動アップデートされず、一定のバージョンを保つことが可能になった。アプリケーションの検証など、バージョンが重要な場合には、非パッケージ版やポータブル版の利用を考えるといいだろう。逆に特にバージョンに拘らないのであれば、プレインストール版およびパッケージ版を使い続けるのがいいだろう。

>> Windows Terminal ベスト設定 連載バックナンバー
https://news.mynavi.jp/tag/winterminal/