我在 RedHat Linux 上创建了自定义 URI 方案处理程序,它按预期工作。例如,当用户被重定向到自定义 URI 时:myapp://abcd浏览器打开类似于 mailto: handler 的应用程序启动器弹出窗口。
在 Ubuntu 中执行类似的步骤并不容易,我尝试了所有可能的解决方案,但都没有奏效。
这是我为 RedHat 所做的工作,它完美地工作:
在 中添加条目~/.local/share/applications/mimeapps.list:
[Added Associations]
x-scheme-handler/myprotocol=myprotocol-handler.desktop
Run Code Online (Sandbox Code Playgroud)添加 myprotocol-handler.desktop 在~/.local/share/applications/myprotocol-handler.desktop:
[Desktop Entry]
Version=1.0
Type=Application
Exec=sh -c "$HOME/.my-handler.sh %u"
Icon=
StartupNotify=true
Terminal=false
Categories=Utility;X-XFCE;X-Xfce-Toplevel;
MimeType=x-scheme-handler/myprotocol
Name=My Launcher
Comment=Launch MyProtocol
Run Code Online (Sandbox Code Playgroud)创建~/.my-handler.sh:
[Added Associations]
x-scheme-handler/myprotocol=myprotocol-handler.desktop
Run Code Online (Sandbox Code Playgroud)我已经在 Ubuntu 上尝试了上述步骤,但它不起作用,方案处理程序仅适用于xdg-open命令,如果我在浏览器上尝试相同的 URI,则它不起作用。
我尝试了以下位置:
~/.config/
~/.local/share/applications/
~/.local/share/applications/packages
sudo update-desktop-database
xdg-mime command
Run Code Online (Sandbox Code Playgroud)
没有一种方法按预期工作。有人能指出我正确的方向吗,我的 Ubuntu 版本是16.04.4