pog*_*rek 6 windows-terminal wsl2
我已在 Windows 10 上的 WSL2 中安装了 Ubuntu-22.04。但是,我的 settings.json 中有两个 Windows 终端配置文件。其中一个肯定是在某些更新后出现的,它从一开始就不存在。我仔细检查了两个配置文件都引用了同一个 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"
}
Run Code Online (Sandbox Code Playgroud)
我无法完全确定导致此问题的升级路径,但我确实在昨天发生的 WSL Ubuntu 升级中发现了一个单独的相关错误。
首先,对您看到的两个不同的终端配置文件进行解释:
第一个是 Canonical 专门为 Ubuntu 创建的配置文件。它是Store 包中的Windows 终端JSON 片段扩展。如果您愿意,可以通过打开管理 PowerShell 会话并运行以下命令来检查它:
Get-ChildItem -Recurse 'C:\Program Files\WindowsApps\' | Where-Object {$_.Name -eq 'terminal.json' }
Run Code Online (Sandbox Code Playgroud)
您可能有不止一个。然后您可以使用路径查看它:
Get-Content 'C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu20.04LTS_2004.4.5.0_x64__79rhkp1fndgsc\Terminal\Fragments\terminal.json'
Run Code Online (Sandbox Code Playgroud)
根据您的软件包位置的需要调整上面的路径(如果不同)。
您应该看到的一件事是:
Get-ChildItem -Recurse 'C:\Program Files\WindowsApps\' | Where-Object {$_.Name -eq 'terminal.json' }
Run Code Online (Sandbox Code Playgroud)
这应该将下一个配置文件标记为隐藏,但听起来升级后事情可能会处于稍微“糟糕的状态”。
第二个是自动生成的配置文件。当 Windows Terminal 启动时,它实际上会扫描您已安装的所有 WSL 发行版,并为每个发行版自动生成配置文件。
只需关闭 Windows 终端并重新启动,就有可能删除旧条目并使用新的、更新的 GUID 重新扫描。
但无论如何,将自动生成的版本标记为“隐藏”绝对没有坏处。无论如何,这最终应该发生。然后您将只看到 Canonical/Ubuntu 版本,带有 Ubuntu 图标和颜色方案。
归档时间: |
|
查看次数: |
3459 次 |
最近记录: |