基本Ubuntu桌面中的URL协议处理程序
有一种向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 我的眼睛看起来有点乱(只是用这个措辞取笑,没什么不好的) 到底是什么? 旁注:我正在寻找即使在未加载整个桌面环境的情况下也能正常工作的东西,例如在运行仅加载了gsettings-daemon(以及与此情况无关的其他东西)的i3wm会话时。 更新资料 “注册”协议处理程序的另一种方法是使用*.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 thousands of applications available for Ubuntu Exec=/usr/bin/software-center %u Icon=softwarecenter Terminal=false Type=Application Categories=PackageManager;GTK;System;Settings; MimeType=application/x-deb;application/x-debian-package;x-scheme-handler/apt; StartupNotify=true X-Ubuntu-Gettext-Domain=software-center Keywords=Sources;PPA;Install;Uninstall;Remove;Purchase;Catalogue;Store; 这个解释了为什么gnome-open apt://foo.bar打开软件中心而不是apturl。 所以我把这个安装apturl.desktop在~/.local/share/applications: [Desktop Entry] …