Ubuntu自定义URL协议处理程序

时间:2013-05-04 16:24:26

标签: linux url ubuntu protocols handler

我想问一个问题,但我会先显示我的文件

<html>
<body>
<a href="cloudje:firefox">Open firefox</a>
</body>
</html>

我的.desktop文件:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/cloudjerun -c gedit
Name[en_US]=Gedit
Comment[en_US]=Small, easy-to-use program to access iTunesU media
Name=TunesViewer
Comment=Small, easy-to-use program to access iTunesU media
Icon=/usr/share/icons/hicolor/scalable/apps/tunesview.svg
Categories=Application;Network;
MimeType=x-scheme-handler/cloudje;
Comment[en_US.utf8]=Small, easy-to-use program to access iTunesU media

教程:http://jarrpa.net/2011/10/28/creating-custom-url-handlers-in-ubuntu-11-04-11-10-gnome-3-0/

好的,这很酷。 .desktop文件将放在/ usr / share / applications中。如果执行命令'xdg-open cloudje:firefox'或类似'xdg-open cloudje:example'之类的命令,它将始终使用名为'cloudjerun'的Python脚本执行gedit。如何使用命令'xdg-open cloudje:firefox'?

执行firefox

我是否需要将'Exec = / usr / bin / cloudjerun -c gedit'替换为'Exec = / usr / bin / cloudjerun -c%U'或'Exec = / usr / bin / cloudjerun -c%s '或者什么?

谢谢,Amanush。

2 个答案:

答案 0 :(得分:3)

在桌面文件中,Exec

可以使用following parameters
Add...  Accepts...
%f      a single filename.
%F      multiple filenames.
%u      a single URL.
%U      multiple URLs.
%d      a single directory. Used in conjunction with %f to locate a file.
%D      multiple directories. Used in conjunction with %F to locate files.
%n      a single filename without a path.
%N      multiple filenames without paths.
%k      a URI or local filename of the location of the desktop file.
%v      the name of the Device entry.

因此,在您的情况下,您可以按照以下描述调整Exec条目:

Exec=/usr/bin/cloudjerun -c %u

请注意,%u是完整的uri,例如当你运行 xdg-open cloudje:firefox %u将是 cloudje:firefox 。最简单的我假设是在运行之前调整cloudjerun python脚本删除uri的第一部分。

答案 1 :(得分:0)

This可能会帮助
(该程序可轻松创建自定义协议处理程序)
(您需要先安装kde-apps或kde-full,然后运行此程序,还需要在 Terminal 中运行该程序。
必须 root sudo ~/Downloads/ProtocolCreator.sh))的身份运行
它将在您的主目录中创建一个带有协议处理程序名称的文件夹(例如https:中的https)。使用$1获取完整的网址。没有简单的方法使其成为[something]:之后的一部分...
修改该文件夹中的文件,使其包含您需要的所有内容
现在说,如果您想打开firefox,请在文件夹中的文件包含以下内容时使用<a href="blablabla:firefox">Open Firefox</a>
#!/bin/bash
firefox
现在,单击链接时,Firefox应该会打开!