浏览器无法通过 xdg 打开自定义 URI(x-scheme-handler),但使用 xdg-open 在控制台上可以很好地运行

浏览器无法通过 xdg 打开自定义 URI(x-scheme-handler),但使用 xdg-open 在控制台上可以很好地运行

我使用 xdg 进行设置,这样我的自定义 URI 就会在我的自定义桌面应用程序中打开。控制台中一切似乎都正常。我使用和进行了xdg-open测试gio open

$ xdg-open foobar:id=333
$ gio open foobar:id=444

两者都按预期运行我的脚本。

当我进入浏览器并单击具有相同 URI 的超链接时,首先会出现一个小对话框询问我是否允许该网站打开 xdg-open,我接受。

在此处输入图片描述

然后出现 xdg-desktop-portal 并说没有可用的应用程序。

在此处输入图片描述

我假设点击在软件中查找更多不会帮助我,而是会将我带到 Ubuntu 软件应用程序或类似程序。但如果我点击它,我会得到:

在此处输入图片描述

Firefox 和 Chromium 的行为相同。

但是,安装 Transmission 后,磁力链接可以正常工作。

gio 的详细信息:

$ gio mime x-scheme-handler/foobar
Default application for “x-scheme-handler/foobar”: foobar.desktop
No registered applications
No recommended applications

foob​​ar.desktop的内容:

[Desktop Entry]
Version=1.0
Name=Foobar Test Handler
GenericName=Foobar
Comment=Just for testing
Icon=/home/jdoe/foobar/icon.png
Path=/home/jdoe/foobar/
Exec=python /home/jdoe/foobar/handler.py %u
Terminal=false
Type=Application
Categories=Utility
MimeType=x-scheme-handler/foobar;

我正在运行 Ubuntu 22.04.1 LTS。

答案1

使用命令更新你的 mime 处理程序数据库

update-desktop-database ~/.local/share/applications

相关内容