我看过相关问题,但没有一个能回答我的问题。我之所以问这个问题,是因为每当我从命令行调用 xdg-open 时,我都会收到以下错误,指示我启用 WSL 互操作性。我尝试打开一个 PNG 文件和一个 PDF 文件。两者都显示相同的消息。
我在使用 Ubuntu 22.04。
$ xdg-open IMG_20220629_131736841.jpg
$ grep: /proc/sys/fs/binfmt_misc/WSLInterop: No such file or directory
WSL Interopability is disabled. Please enable it before using WSL.
grep: /proc/sys/fs/binfmt_misc/WSLInterop: No such file or directory
[error] WSL Interoperability is disabled. Please enable it before using WSL.
/usr/bin/wslview: line 216: /mnt/c/Windows/System32/reg.exe: No such file or directory
/usr/bin/wslview: line 308: [: -ge: unary operator expected
[error] This protocol is not supported before version 1903.
答案1
在 Kubuntu 22.04 和新升级的 Plasma 版本 5.25.5 上运行以下命令有效:
sudo apt purge wslu
答案2
删除文件/usr/share/applications/wslview.desktop
。
我在新发布的 Ubuntu 22.04.1 LTS 上也遇到了这个问题。
我删除了该文件/usr/share/applications/wslview.desktop
并xdg-open
开始按预期工作。
我不知道具体发生了什么,但似乎wslview.desktop
启动器是用于在 Windows WSL 中使用 Ubuntu 的。但出于某种原因,每次xdg-open
调用时都会启动它。当它被删除时,xdg-open
将使用与 URL 关联的另一个启动器,即正确的启动器。