Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Ubuntu自定义URL协议处理程序_Linux_Url_Ubuntu_Protocols_Handler - Fatal编程技术网

Linux Ubuntu自定义URL协议处理程序

Linux Ubuntu自定义URL协议处理程序,linux,url,ubuntu,protocols,handler,Linux,Url,Ubuntu,Protocols,Handler,我想问一个问题,但我会先显示我的文件 <html> <body> <a href="cloudje:firefox">Open firefox</a> </body> </html> 教程: 好的,这很酷。.desktop文件将放在/usr/share/applications中。如果执行命令“xdg open cloudje:firefox”或类似于“xdg open cloudje:example”的命令,它将始终使用

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

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

好的,这很酷。.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”之类的内容?

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

可能会有所帮助
(这是一个可以轻松创建自定义协议处理程序的程序)
(您需要安装kde应用程序或kde full,然后运行此程序,您还需要在终端中运行此程序
,并且必须root身份运行它(
sudo~/Downloads/ProtocolCreator.sh

它将在您的主目录中创建一个具有协议处理程序名称的文件夹(如https:中的https)。使用
$1
获取完整的url。没有简单的方法可以让它成为
[something]:

之后的一部分 修改该文件夹中的文件,使其包含所需的所有内容
现在,如果您想打开firefox,请在文件夹中的文件包含以下内容时使用
#/bin/bash

firefox


现在,当点击链接时,Firefox应该会打开

如果我还在为我制作这个的公司工作,你会帮我很多忙的!WebSocket是我的解决方案!教程链接不再有效。
Exec=/usr/bin/cloudjerun -c %u