
У меня Ubuntu-22.04 установлена в WSL2 на Windows 10. Однако в моем settings.json есть два профиля Windows Terminal. Один из них, должно быть, появился после какого-то обновления, его не было с самого начала. Я дважды проверил, оба профиля относятся к одному и тому же экземпляру 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, которая произошла вчера.
Но сначала поясним два разных профиля терминала, которые вы видите:
Первый — это профиль, созданный Canonical специально для Ubuntu. Это Windows TerminalРасширение фрагмента JSONкоторый входит в пакет Store. Если хотите, можете проверить его, открыв сеанс административного 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 },
Это должно означатьследующийпрофиль скрыт, но похоже, что с обновлением дела обстоят немного «плохо».
Второй — это автоматически сгенерированный профиль. Когда запускается Windows Terminal, он по сути сканирует все установленные вами дистрибутивы WSL и автоматически генерирует профиль для каждого из них.
Есть вероятность, что простое закрытие Windows Terminal и перезапуск удалят старую запись и запустят повторное сканирование с новым, обновленным GUID.
Но, несмотря на это, нет ничего плохого в том, чтобы пометить автоматически сгенерированную версию как «Скрытую». Это то, что в конечном итоге должно произойти в любом случае. Затем вы увидите только версию Canonical/Ubuntu с иконкой и цветовой схемой Ubuntu.