解决 win+R 运行处以及文件资源管理器处无法使用 wt、wsl 命令打开终端
莫名其妙遇到个问题:
wt 和 wsl 无法使用 win+R 和文件资源管理器打开,但是 cmd 和 powershell 是可以正常打开的。
具体情况:
C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_2.6.1.0_x64__8wekyb3d8bbwe 下面的 wsl.exe 无法双击打开,也无法使用 wsl 打开。
C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.22.12111.0_x64__8wekyb3d8bbwe下面的 wt.exe,双击无法打开,输命令 wt 也无法打开。
C:\Users\用户名\AppData\Local\Microsoft\WindowsApps 下面也有 wt.exe 和 wsl.exe,并且双击都可以打开。
前者是 WindowsApps 下的原始 UWP 安装目录,后者是 Windows Store 应用的别名、入口。
在终端下 wt、wsl 等命令又都可以正常打开,通过不同的方式,有些能打开有些打不开,说明它们调用的地方应该不一样。
Win + R 调用机制使用的是注册表里的 App Paths 或系统 PATH。
修改系统 PATH 的方式试了很多,未解决。
可以看到 Path 中只有
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
而采用 win+R 的方法或者文件资源管理器的方法应该是优先调用成了下面的路径:
C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_2.6.1.0_x64__8wekyb3d8bbwe C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.22.12111.0_x64__8wekyb3d8bbwe
我们直接说解决方法,我们来看注册表。
win + R 键入 regedit 打开注册表,找到如下路径:
计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\wt.exe
默认的两个数据为:
C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.22.12111.0_x64__8wekyb3d8bbwe\wt.exeC:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.22.12111.0_x64__8wekyb3d8bbwe
将这两个数据改为:
C:\Users\用户名\AppData\Local\Microsoft\WindowsApps\wt.exe
C:\Users\用户名\AppData\Local\Microsoft\WindowsApps\
如下图:
再次尝试运行
或者在文件资源管理器里面输
都可以正常打开终端了
wsl 的修改方法一样,不再赘述:
至此问题解决