Ответ 1
В идеальной ситуации такое поведение обрабатывается средой рабочего стола (KDE, GNOME, XFCE), и Firefox уважает эти настройки - он должен делать это на Ubuntu, Fedora и OpenSUSE, по крайней мере. YMMV:
Я пытаюсь перенести один из моих проектов хобби на linux. Предпочтительно для Mono, поскольку он написан на С#. Но я также смотрю на Python.
Одна из особенностей приложения заключается в том, что ему необходимо связать с пользовательским протоколом, поэтому приложение вызывается, когда пользователь нажимает на него такие ссылки на веб-сайте приложения:
myapp://module/action
Пользовательский протокол, например this, this и это.
Как это можно сделать в системах linux/unix? Можно ли связать общесистемный обработчик, например, в Windows? или он должен быть зависимым от браузера?
Невозможно найти что-либо в Google. И я совершенно не знаю, что делать с Linux.
Мне нужны указатели. Спасибо!
В идеальной ситуации такое поведение обрабатывается средой рабочего стола (KDE, GNOME, XFCE), и Firefox уважает эти настройки - он должен делать это на Ubuntu, Fedora и OpenSUSE, по крайней мере. YMMV:
Ручной способ сделать это для 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, это просто то, что происходит в реестре.
Это выглядит как достойный drescription для Firefox.
Можно ли связать общесистемный обработчик, например, в Windows? или он должен быть зависимым от браузера?
Он должен быть зависимым от браузера. Нет никакого способа перекрестного браузера по связыванию обработчиков URL в Linux.