linux中的自定义协议?

时间:2009-01-04 19:34:23

标签: linux custom-protocol

我正在尝试将我的一个爱好项目移植到linux。最好是Mono,因为它是用C#编写的。但我也在研究Python。

该应用程序的一个功能是它需要与自定义协议关联,以便当用户在应用程序的网站上单击此类链接时调用应用程序:

myapp://module/action

自定义协议,例如thisthisthis

如何在linux / unix系统中完成?我可以像Windows一样关联系统范围的处理程序吗?还是需要依赖浏览器?

在Google上找不到任何内容。我对linux编程完全无能为力。

我需要一些指示。谢谢!

4 个答案:

答案 0 :(得分:10)

在理想情况下,这种事情由桌面环境(KDE,GNOME,XFCE)处理,而Firefox则尊重这些设置 - 至少应该在Ubuntu,Fedora和OpenSUSE上这样做。 YMMV:

Integrating a new URIs Scheme Handler to GNOME and Firefox

Adding a protocol handler for firefox (KDE)

答案 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的

This looks like a decent drescription

答案 3 :(得分:-5)

  

我可以关联Windows中的系统范围处理程序吗?还是需要依赖浏览器?

必须依赖浏览器。在Linux中没有跨浏览器的方式来关联URL处理程序。