我正在尝试将我的一个爱好项目移植到linux。最好是Mono,因为它是用C#编写的。但我也在研究Python。
该应用程序的一个功能是它需要与自定义协议关联,以便当用户在应用程序的网站上单击此类链接时调用应用程序:
myapp://module/action
如何在linux / unix系统中完成?我可以像Windows一样关联系统范围的处理程序吗?还是需要依赖浏览器?
在Google上找不到任何内容。我对linux编程完全无能为力。
我需要一些指示。谢谢!
答案 0 :(得分:10)
在理想情况下,这种事情由桌面环境(KDE,GNOME,XFCE)处理,而Firefox则尊重这些设置 - 至少应该在Ubuntu,Fedora和OpenSUSE上这样做。 YMMV:
答案 1 :(得分:3)
为firefox执行此操作的手动方式:
open firefox
type in about:config to location bar
add new string
name: network.protocol-handler.app.myapp
value: /path/to/program
答案 2 :(得分:1)
不会有单一的答案,因为这将最多发生在X窗口管理器级别。通常,您需要将一些代码放入路径中,并将名称与协议相关联。看看about:config页面,这是设置处理程序的地方。
这就是Windows所做的一切,只是那些东西在注册表中。
Firefox的答案 3 :(得分:-5)
我可以关联Windows中的系统范围处理程序吗?还是需要依赖浏览器?
必须依赖浏览器。在Linux中没有跨浏览器的方式来关联URL处理程序。