在Linux的自定义协议?

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

该应用程序的一个特点是它需要与一个自定义协议相关联,所以当用户在应用程序的网站上点击这样的链接时,应用程序被调用:

myapp://module/action 

像这样的自定义协议, 这个和这个 。

这怎么能在linux / unix系统中完成? 我可以像在Windows中关联一个系统范围的处理程序吗? 还是需要依赖于浏览器?

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

我需要一些指针。 谢谢!

Solutions Collecting From Web of "在Linux的自定义协议?"

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

将新的URI方案处理程序集成到GNOME和Firefox

为firefox添加协议处理程序(KDE)

为Firefox做手动的方法:

 open firefox type in about:config to location bar add new string name: network.protocol-handler.app.myapp value: /path/to/program 

这不会是一个单一的答案,因为这将在X窗口管理器级别发生。 一般来说,你将需要有一些代码可以放到你的路径中,并把名字和协议关联起来。 看一下about:config页面,这是处理程序的设置。

这也是Windows所做的一切,只是这些东西在注册表中。

这看起来像一个体面的火狐浏览器。

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

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