17

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

该应用程序的一个特点是它需要与自定义协议相关联,因此当用户在应用程序的网站上单击如下链接时会调用该应用程序:

myapp://module/action

这样的自定义协议,这个这个

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

在谷歌上找不到任何东西。而且我对 linux 编程一无所知。

我需要一些指示。谢谢!

4

4 回答 4

9

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

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

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

于 2009-01-04T20:08:20.657 回答
4

为Firefox执行此操作的手动方法:

open firefox
type in about:config to location bar
add new string
name:  network.protocol-handler.app.myapp
value: /path/to/program
于 2009-01-04T19:52:28.803 回答
1

不会有一个单一的答案,因为这充其量只会在 X 窗口管理器级别发生。通常,您需要有一些可以放入路径中的代码块,并将名称与协议相关联。查看 about:config 页面,这是设置处理程序的地方。

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

这看起来像是Firefox 的一个不错的描述。

于 2009-01-04T19:50:18.230 回答
-6

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

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

于 2009-01-04T20:07:57.570 回答