9

I've got Ubuntu-22.04 installed in WSL2 on Windows 10. However, there are two Windows Terminal profiles in my settings.json. One of them must have appeared after some update, it was not there from the beginning. I double checked both of the profiles refers to the same linux WSL2 instance. Even more confusing for me is that each of the profiles leads to different visual appearance.

I would like to know how "automatic" adding of Terminal profiles works in general and also what exactly happened in my particular case. Here is the relevant part of 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 Answer 1

6

I can't quite determine the upgrade path that caused this for you, but I did find a separate, related bug in the WSL Ubuntu upgrade that occurred yesterday.

First, though, an explanation of the two different Terminal profiles you see:

  • The first is the profile that is created by Canonical specifically for Ubuntu. It's a Windows Terminal JSON Fragment Extension that comes in the Store package. If you'd like, you can inspect it by opening an Administrative PowerShell session and running:

    Get-ChildItem -Recurse 'C:\Program Files\WindowsApps\' | Where-Object {$_.Name -eq 'terminal.json' }
    

    You may have more than one. You can then view it by using the path and:

    Get-Content 'C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu20.04LTS_2004.4.5.0_x64__79rhkp1fndgsc\Terminal\Fragments\terminal.json'
    

    Adjust the path above as needed for your package location, if it differs.

    One thing you should see is something like:

    {
        "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
    },
    

    This is supposed to mark the next profile as hidden, but it sounds like things may be in a slightly "bad state" with the upgrade.

  • The second one is the autogenerated profile. When Windows Terminal starts, it essentially scans for all WSL distributions that you have installed and auto-generates a profile for each of them.

    There's a chance that simply closing Windows Terminal out and restarting will remove the old entry and have it rescan with the new, updated GUID.

But regardless, there's absolutely no harm in marking the auto-generated version "Hidden". That's ultimately what should be happening anyway. Then you'll just see the Canonical/Ubuntu one, with the Ubuntu icon and colorscheme.

3
  • This is a great answer, and very helpful. However, even though my first profile is marked hidden, when I open Windows terminal (and it defaults to 22.04.1 LTS w/ the Ubuntu icon and colorscheme, when you go into Terminal's settings, Ubuntu-22.04 shows up there along w/ 22.04.1 LTS) with a penguin icon and black colorscheme. If I go into that profile in Settings and Delete it, it re-appears after a reboot.
    – aagha
    Commented Aug 21, 2022 at 23:01
  • @aagha You might want to post a new question (or questions) on that. I can confirm (and perhaps solve) the part above not being able to delete the 22.04 profile. Not sure why you can't hide it though - That's working for me. Commented Aug 22, 2022 at 0:27
  • superuser.com/questions/1737991/…
    – aagha
    Commented Aug 22, 2022 at 16:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .