如何在 Ubuntu 22.04 上启用 WSL 互操作性?

如何在 Ubuntu 22.04 上启用 WSL 互操作性?

我看过相关问题,但没有一个能回答我的问题。我之所以问这个问题,是因为每当我从命令行调用 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.desktopxdg-open开始按预期工作。

我不知道具体发生了什么,但似乎wslview.desktop启动器是用于在 Windows WSL 中使用 Ubuntu 的。但出于某种原因,每次xdg-open调用时都会启动它。当它被删除时,xdg-open将使用与 URL 关联的另一个启动器,即正确的启动器。

相关内容