
Windows 10 の WSL2 に Ubuntu-22.04 をインストールしました。ただし、settings.json に Windows Terminal プロファイルが 2 つあります。そのうちの 1 つは、最初から存在していたわけではなく、何らかの更新後に表示されたはずです。両方のプロファイルが同じ Linux WSL2 インスタンスを参照していることを再確認しました。さらに混乱しているのは、各プロファイルが異なる外観につながることです。
ターミナル プロファイルの「自動」追加が一般的にどのように機能するか、また私の特定のケースでは実際に何が起こったかを知りたいです。settings.json の関連部分は次のとおりです。
{
"guid": "{f9ceaf27-504c-58d7-927c-d1d6a7ac7d3c}",
"hidden": false,
"name": "Ubuntu 22.04.1 LTS",
"source": "CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc"
},
{
"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
"hidden": false,
"name": "Ubuntu-22.04",
"source": "Windows.Terminal.Wsl"
}
答え1
この問題の原因となったアップグレード パスを正確に特定することはできませんが、昨日発生した WSL Ubuntu アップグレードで別の関連するバグが見つかりました。
まず、表示される 2 つの異なるターミナル プロファイルについて説明します。
1つ目は、CanonicalがUbuntu専用に作成したプロファイルです。これはWindowsターミナルです。JSON フラグメント拡張ストア パッケージに付属しています。必要に応じて、管理 PowerShell セッションを開いて次のコマンドを実行して検査できます。
Get-ChildItem -Recurse 'C:\Program Files\WindowsApps\' | Where-Object {$_.Name -eq 'terminal.json' }
複数ある場合もあります。その場合は、パスを使用して表示できます。
Get-Content 'C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu20.04LTS_2004.4.5.0_x64__79rhkp1fndgsc\Terminal\Fragments\terminal.json'
パッケージの場所が異なる場合は、必要に応じて上記のパスを調整してください。
あなたがすべき次のようなものを参照してください:
{ "updates": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}", // We have to hide this autogenerated profile as we can't change the name of existing profiles. // This would use WSLID like "Ubuntu-20.04" which is hard to read. "hidden": true },
これは、次プロファイルは非表示になっていますが、アップグレードによって状況が少し「悪い状態」になっている可能性があります。
2 つ目は自動生成されたプロファイルです。Windows Terminal が起動すると、基本的にインストールされているすべての WSL ディストリビューションがスキャンされ、それぞれのプロファイルが自動生成されます。
Windows Terminal を閉じて再起動するだけで、古いエントリが削除され、新しい更新された GUID で再スキャンされる可能性があります。
しかし、いずれにしても、自動生成されたバージョンを「非表示」にマークしてもまったく問題はありません。いずれにせよ、最終的にはそうなるはずです。そうすると、Ubuntu のアイコンと配色が付いた Canonical/Ubuntu のバージョンだけが表示されます。