Установка обработчика протокола с помощью x-circuit-handler в centos, opensuse
Мое требование - запускать собственный обработчик протокола, используя firefox в системах Linux.
Я успешно добавил обработчик протокола в Ubuntu, создав файл myapp.desktop в / usr / share / Applications. Содержание примерно так.
[Desktop Entry]
Name=myapp
Comment= My Custom protocol handler
Exec=/path/to/my/application %U
Icon=myicon
Terminal=0
Type=Application
X-MultipleArgs=True
MimeType=x-scheme-handler/myapp
Encoding=UTF-8
Categories=Network;Application;
После этого я запускаю update-desktop-database. Все готово, и я смог набрать myapp:// в браузере Firefox Ubuntu или в Fedora, и myapp был вызван.
Пока такая же процедура не работает в Centos или Opensuse. Я попробовал следующие вещи в centos и opensuse, но это не сработало.
gconftool-2 -t string -s /desktop/gnome/url-handlers/myapp/command "/path/to/my/app %U"
gconftool-2 -s /desktop/gnome/url-handlers/myapp/needs_terminal false -t bool
gconftool-2 -t bool -s /desktop/gnome/url-handlers/myapp/enabled true
Пожалуйста, помогите заставить обработчик протокола работать в centos и opensuse. Я использую centos-6.2 и opensuse 11.2
Заранее спасибо.
1 ответ
Я выяснил причину. Запуск gconftool добавляет обработчик URL. Я выполнял эту команду как часть пост-скрипта rpm, который получает привилегии root. Следовательно, обработчик URL не был зарегистрирован пользователем. После запуска вручную от имени пользователя firefox мог вызывать myapp, когда я набираю myapp:// в браузере.