Пользовательский протокол в Linux? - PullRequest
15 голосов
/ 04 января 2009

Я пытаюсь перенести один из моих хобби-проектов на linux. Желательно моно, так как написано на C #. Но я смотрю и на Python.

Одна из особенностей приложения заключается в том, что оно должно быть связано с настраиваемым протоколом, поэтому приложение вызывается, когда пользователь нажимает на веб-сайте приложения такие ссылки:

myapp://module/action

Пользовательский протокол, такой как , , , и , .

.

Как это можно сделать в системах linux / unix? Могу ли я связать системный обработчик как в Windows? или он должен зависеть от браузера?

Ничего не могу найти в Google. И я совершенно не разбираюсь в программировании на Linux.

Мне нужны некоторые указатели. Спасибо!

Ответы [ 4 ]

10 голосов
/ 04 января 2009

В идеальной ситуации подобные вещи обрабатываются средой рабочего стола (KDE, GNOME, XFCE), и Firefox уважает эти настройки - это должно быть сделано по крайней мере в Ubuntu, Fedora и OpenSUSE YMMV:

Интеграция нового обработчика схемы URI в GNOME и Firefox

Добавление обработчика протокола для Firefox (KDE)

3 голосов
/ 04 января 2009

Ручной способ сделать это для Firefox:

open firefox
type in about:config to location bar
add new string
name:  network.protocol-handler.app.myapp
value: /path/to/program
1 голос
/ 04 января 2009

Единого ответа не будет, потому что в лучшем случае это будет происходить на уровне менеджера окон X. В общем, вам понадобится кусок кода, который вы можете вставить в свой путь, и связать имя с протоколом. Взгляните на страницу about: config, где устанавливаются обработчики.

Это действительно все, что делает и Windows, просто это есть в реестре.

Это похоже на приличную надпись для Firefox.

0 голосов
/ 04 января 2009

Можно ли связать общесистемный обработчик, как в Windows? или он должен зависеть от браузера?

Должно зависеть от браузера. В Linux нет кросс-браузерного способа связывания обработчиков URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...