2013-05-04 101 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