centos - 在 centos、opensuse 中通过 x-scheme-handler 设置协议(protocol)处理程序

标签 centos mime-types opensuse gconf

我的要求是在 Linux 系统中使用 Firefox 运行自定义协议(protocol)处理程序。

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

[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

请帮助使协议(protocol)处理程序在 centos 和 opensuse 中工作。 我使用的是centos-6.2和opensuse 11.2

提前致谢。

最佳答案

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

关于centos - 在 centos、opensuse 中通过 x-scheme-handler 设置协议(protocol)处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11977779/

相关文章:

tomcat - 启动在 centos 上运行的 Artifactory/Tomcat 后出现 404

ruby-on-rails - 重启后自动启动rails server

python - 在python中如何计算特定参数之后传递的参数数量?

html - 将图像显示为 src="data : image/jpg;base64, ... 好吗?

linux - openSUSE 上的 OTRS 安装错误

mysql - 使用 DLZ "/usr/bin/ld: cannot find -lmysqlclient"编译 Bind 时出现 CentOS 错误

java - 如何检测 mime 类型是否用于可执行文件?

javascript - 即使指定 mime 类型也无法上传 .ppt 文件

OpenSUSE 中的 Java 开发

assembly - [BITS 16] 和 [ORG 0x0000] 指令的顺序