
Ich habe Ubuntu-22.04 in WSL2 unter Windows 10 installiert. In meiner Datei settings.json gibt es jedoch zwei Windows-Terminalprofile. Eines davon muss nach einem Update aufgetaucht sein, es war von Anfang an nicht da. Ich habe doppelt überprüft, dass sich beide Profile auf dieselbe Linux-WSL2-Instanz beziehen. Noch verwirrender ist für mich, dass jedes der Profile zu einem anderen visuellen Erscheinungsbild führt.
Ich würde gerne wissen, wie das „automatische“ Hinzufügen von Terminalprofilen im Allgemeinen funktioniert und was in meinem speziellen Fall genau passiert ist. Hier ist der relevante Teil von 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"
}
Antwort1
Ich kann den Upgrade-Pfad, der dies bei Ihnen verursacht hat, nicht genau ermitteln, habe aber einen separaten, damit zusammenhängenden Fehler im WSL-Ubuntu-Upgrade gefunden, das gestern aufgetreten ist.
Zunächst jedoch eine Erklärung der beiden unterschiedlichen Terminalprofile, die Sie sehen:
Das erste ist das Profil, das von Canonical speziell für Ubuntu erstellt wurde. Es ist ein Windows TerminalJSON-Fragmenterweiterungdas im Store-Paket enthalten ist. Wenn Sie möchten, können Sie es überprüfen, indem Sie eine administrative PowerShell-Sitzung öffnen und Folgendes ausführen:
Get-ChildItem -Recurse 'C:\Program Files\WindowsApps\' | Where-Object {$_.Name -eq 'terminal.json' }
Möglicherweise haben Sie mehr als eine. Sie können sie dann über den Pfad anzeigen und:
Get-Content 'C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu20.04LTS_2004.4.5.0_x64__79rhkp1fndgsc\Terminal\Fragments\terminal.json'
Passen Sie den obigen Pfad ggf. an Ihren Paketspeicherort an, falls dieser abweicht.
Eine Sache, die Siesollensehen Sie etwa Folgendes:
{ "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 },
Dies soll dienächsteProfil als versteckt, aber es hört sich an, als ob die Dinge mit dem Upgrade in einem etwas „schlechten Zustand“ sein könnten.
Das zweite ist das automatisch generierte Profil. Wenn Windows Terminal startet, sucht es im Wesentlichen nach allen WSL-Distributionen, die Sie installiert haben, und generiert für jede davon automatisch ein Profil.
Es besteht die Möglichkeit, dass durch einfaches Schließen und Neustarten des Windows-Terminals der alte Eintrag entfernt und ein erneuter Scan mit der neuen, aktualisierten GUID durchgeführt wird.
Aber unabhängig davon ist es absolut nicht schädlich, die automatisch generierte Version als „Versteckt“ zu markieren. Das ist letztendlich sowieso das, was passieren sollte. Dann sehen Sie nur die Canonical/Ubuntu-Version mit dem Ubuntu-Symbol und Farbschema.