【问题标题】:Ubuntu custom URL protocol handlerUbuntu 自定义 URL 协议处理程序
【发布时间】:2013-04-28 21:23:16
【问题描述】:

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

<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 ' 还是什么?

【问题讨论】:

  • 教程链接失效了。

标签: linux url ubuntu protocols handler


【解决方案1】:

在桌面文件中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 的第一部分。

【讨论】:

  • 如果我还在为我做这个的公司工作,你会帮我很多的! WebSockets 是我的解决方案!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多