Debian Kde Iceweasel/Firefox: настройка пользовательских обработчиков протоколов

Вопрос или проблема

Я недавно перешел с Ubuntu 10.04 gnome на Debian wheezy Kde.

Все работает хорошо, кроме пользовательских протоколов Iceweasel/firefox!

Я добавил komodo.protocol в свой ~/.kde/share/services с:

[Protocol]
exec=python /path/to/my/script.py "%u"
protocol=komodo
input=none
output=none
helper=true
listing=
reading=false
writing=false
makedir=false
deleting=false

Это работает для chrom(e|ium), но не для firefox.

Я читал, что firefox должен использовать gnome конфигурации даже под Kde, так что я попробовал:

gconftool-2 -s /desktop/gnome/url-handlers/komodo/enabled --type Boolean true
gconftool-2 -s /desktop/gnome/url-handlers/komodo/command 'python /path/to/my/script.py %s' --type String

Это работало, когда я был на ubuntu, но не работает на kde.

Есть идеи?

ИЗМЕНЕНИЕ

Пример ссылки: komodo:/var/www/app/0/Modules/Controller/Node/Controller_Node.class.php:1202

Если я запускаю команду komodo /var/www/app/0/Modules/Controller/Node/Controller_Node.class.php:1202 из терминала, она работает правильно; мой python-скрипт просто проверяет несколько вещей, а затем выполняет эту команду – но с firefox/iceweasel это никогда не срабатывает.

Вы можете попробовать изменить конфигурацию Firefox через about:config:

Ответ или решение

Настройка пользовательских обработчиков протоколов в Iceweasel/Firefox на Debian KDE

Переход с Ubuntu 10.04 GNOME на Debian Wheezy с KDE может вызвать некоторые проблемы с настройкой пользовательских обработчиков протоколов. Ваша проблема с обработчиком komodo в Iceweasel/Firefox, которая, по вашим словам, работает в Chromium, но не в Firefox, является распространенной и может быть решена несколькими шагами.

1. Создание файла службы для протоколов

Вы правильно создали файл komodo.protocol в каталоге ~/.kde/share/services. Это начальный шаг для настройки пользовательского протокола. Однако, вам следует удостовериться, что ваш файл корректен. Пример:

[Protocol]
exec=python /path/to/my/script.py "%u"
protocol=komodo
input=none
output=none
helper=true
listing=
reading=false
writing=false
makedir=false
deleting=false

Данный файл указывает, что запросы к komodo должны обрабатываться вашим python-скриптом.

2. Настройка через GNOME конфигурацию

Вы пытались настроить обработчик через gconftool-2, но это может не сработать в KDE. Однако, можно попробовать аналогичные команды, используя xdg-utils. Попробуйте выполнить следующее:

xdg-mime default firefox.desktop x-scheme-handler/komodo

Это укажет системе, что Firefox должен обрабатывать протокол komodo.

3. Настройка через about:config в Firefox

Для того чтобы убедиться, что Firefox правильно настроен на обработку вашего протокола, выполните следующие шаги:

  1. Откройте Firefox и в адресной строке введите about:config.
  2. При появлении предупреждения об опасности, подтвердите, что вы готовы продолжить.
  3. Найдите следующие параметры и установите их:

    • network.protocol-handler.expose.komodo: установите значение true. Это позволит Firefox использовать обработчик.
    • network.protocol-handler.external.komodo: установите значение true. Это заставит Firefox вызывать внешний обработчик.
    • network.protocol-handler.app.komodo: установите это значение на полный путь к вашему скрипту, например, python /path/to/my/script.py.

Для добавления параметров в about:config, вы можете щелкнуть правой кнопкой мыши и выбрать New > Boolean или New > String, в зависимости от типа.

4. Протестируйте обработчик

После внесения этих изменений, протестируйте обработку ссылок с использованием вашего протокола komodo. Например, если вы используете ссылку вида:

komodo:/var/www/app/0/Modules/Controller/Node/Controller_Node.class.php:1202

Посмотрите, вызывается ли ваш Python-скрипт корректно.

Заключительные мысли

Если после выполнения всех вышеуказанных шагов проблема не решилась, то стоит рассмотреть журнал ошибок Firefox. Для этого можно запустить Firefox из терминала и наблюдать за сообщениями, которые могут помочь диагностировать проблему.

Переход на другую среду может вызвать трудности, но с правильной настройкой вы сможете успешно использовать Iceweasel/Firefox для обработки пользовательских протоколов. В случае, если будут дополнительные вопросы, не стесняйтесь обращаться к сообществу Debian или к документации Firefox.

Оцените материал
Добавить комментарий

Капча загружается...