在centos中使用x-scheme-handler设置协议处理程序,opensuse

时间:2012-08-15 21:41:27

标签: centos mime-types opensuse gconf

我的要求是在linux系统中使用firefox运行自定义协议处理程序。

我已经通过在/ usr / share / applications中创建myapp.desktop文件在Ubuntu中成功添加了协议处理程序。内容是这样的。

[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。所有的设置和我能够在Ubuntu的firefox浏览器或Fedora中输入myapp://并调用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并打开11.2

提前致谢。

1 个答案:

答案 0 :(得分:2)

我弄明白了原因。运行gconftool会添加url处理程序。我正在运行这些命令作为rpm post脚本的一部分,该脚本具有root权限。因此,url处理程序未向用户注册。一旦以用户身份手动运行,当我在浏览器中键入myapp://时,firefox可以调用myapp。