2013-05-04 215 views
3

我想问一个问题,但我首先会显示我的文件Ubuntu的自定义URL协议处理程序

<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

教程链接不起作用。 – Omkar 2014-10-20 10:37:22

回答

3

在桌面文件following parameters有可能Exec的

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的第一部分。

+0

如果我还在这家公司工作,你会帮助我很多! WebSockets是我的解决方案! – 2013-11-24 15:49:56