在linux自定义协议,让浏览器可以调用本地程序
原文地址:[在linux自定义协议,让浏览器可以调用本地程序 (icode9.com)](https://www.icode9.com/content-3-133740.html)
第一种是在gnome桌面环境下,执行以下步骤 并且重启系统
- gconftool-2 -t string -s /desktop/gnome/url-handlers/foo/command ‘foo “%s”‘
- gconftool-2 -s /desktop/gnome/url-handlers/foo/needs_terminal false -t bool
- gconftool-2 -s /desktop/gnome/url-handlers/foo/enabled true -t bool
第二种:是在kde桌面环境下:
- 新建一个foo.desktop,内容如下:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/foo %u
Name=APT‑URL
Comment=APT‑URL handler
Icon=
Categories=Application;Network;
MimeType=x-scheme-handler/foo;
2.将foo.desktop 放置到~/.local/share/applications/或者/usr/share/applications/;执行命令:update-desktop-database
3.注册foo协议:xdg-mime default foo.desktop x-scheme-handler/foo
4.html示例
<html>
<body>
<a href="foo:xxx">gd test</a>
</body>
</html>
参考于
https://askubuntu.com/questions/514125/url-protocol-handlers-in-basic-ubuntu-desktop
解释说明:
第一个步骤中的第一个foo代表你的协议,例如你最终在浏览器应该输入“foo://123”;第二个foo代表你要执行的本地命令。