有一种方法可以用 Gconf 注册 URL 协议处理程序,现在已经过时了,而且似乎无法用 DConf(或 Gsettings,它推荐的包装器)来做同样的事情。
自 DConf 以来,如何正确注册 URL 协议处理程序?
此外,在我的 Ubuntu 12.04 上,有些东西对我来说看起来很奇怪(因为我不明白)
该协议apt://
应由apturl
命令处理。我的 Opera 浏览器也是如此,但这只是因为我使用浏览器的配置工具添加了这个特定的关联。否则,在其余环境中:
xdg-open apt://foo.bar
打开elinks
(我的www-browser
选择)。gnome-open apt://foo.bar
打开软件?中心。gconf-editor
,我看到一个键,/desktop/gnome/url-handlers/apt
其值为apturl "%s"
并且已启用。这种配置似乎被忽略了,这是合理预期的,因为 GConf 被认为已过时。dconf-editor
,我看不到任何与 URL 处理程序或协议相关的内容/desktop/gnome
我的眼睛看起来有点乱(只是用这个措辞开玩笑,没什么不好的)
下面是什么?
旁注:我正在寻找即使在未加载完整桌面环境的情况下也能最好工作的东西,例如在运行 i3wm 会话时只gsettings-daemon
加载(以及与此案例无关的其他内容)。
“注册”协议处理程序的另一种方法是使用*.desktop
文件及其 MIME 类型;例如MimeType=application/<the-protocol>;
。
我找到了一个/usr/share/applications/ubuntu-software-center.desktop
有这个内容的:
[Desktop Entry]
Name=Ubuntu Software Center
GenericName=Software Center
Comment=Lets you choose from …
Run Code Online (Sandbox Code Playgroud)