Windows11(22H2)に内蔵されているWindows Terminalを起動した時に、毎回”ユーザー設定の読み込み中にエラーが発生しました 設定ファイルに同じGUIDを持つ複数のプロファイルが見つかりました。重複は無視されます…”というエラーが表示されて困っていました。
実用上特に問題はなさそうなのですが、うっとうしかったので原因を調べてみました。Windows Terminalは”動的プロファイル”という仕組みを採用しており、プロファイルを切り替えることで異なるシェルを切り替えて使うことができます。
例えば、Windows PowershellとWindows用LinuxのシェルであるWSLのシェルなどを切り替えて使えます。このシェルにはそれぞれGUID(ユニークな識別子)が振られますが、どうもこれが内部で重複しているということのようです。
Windows Terminalの設定画面左下に”JSONを開く”という項目があり、ここを開くとターミナルの設定がJSON形式で保存されています。GUI上でプロファイルごとの設定変更も可能になっていますが、GUIの設定ではGUIDを編集することはできなさそうでした。
その中にある”profiles”:で始まるブロックにプロファイルの設定が書かれています。確認してみると確かに複数のGUIDに重複があったので、重複がないように片方を変更してみたところエラーは解消しました。
<JSON>
{
//↓guidを変更して重複がないようにする
"guid": "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}",
"hidden": false,
"name": "PowerShell",
"source": "Windows.Terminal.PowershellCore"
}
通常重複することはないはずの値だと思うので気になりますが、エラーが解消して何よりでした。