在linux系统中自定义协议,让浏览器可以调用本地程序

文章详细介绍了如何在KDE桌面环境中,特别是CentOS7、统信UOS和Ubuntu系统下,创建并注册一个新的协议处理程序。通过编写`demo.desktop`文件,设置`Exec`参数来调用`/usr/bin/test.sh`脚本,并使用`xdg-mime`命令注册协议。在HTML页面中使用自定义协议链接,点击后会启动指定脚本并传递参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

备注:
以下适用于在kde桌面环境下(同样适用于centos7),包括统信UOS、Ubuntu系统,

步骤一:

新建一个demo.desktop,demo为协议名称内容如下:

[Desktop Entry]
Name=demo
Exec=/usr/bin/test.sh %u
Type=Application
Terminal=false
MimeType=x-scheme-handler/demo;

MimeType=x-scheme-handler/demo为协议信息,demo为协议名字
Exec=/usr/bin/test %u,exec为调用的程序或者脚本,其中%u为传递的参数内容

以下步骤是在root用户下的配置步骤

步骤二:拷贝文件

cp demo.desktop /usr/share/applications/

步骤二:更新协议信息

update-desktop-database /usr/share/applications/

步骤三:注册协议到系统

xdg-mime default demo.desktop x-scheme-handler/demo

步骤五:
新建一个1.html文件进行测试,并用浏览器打开该文件,其内容如下

<html>
    <head>
	<title>sdfasdfasdfasdf</title>
	</head>
	<body>
     <a href="demo://192.168.125.114">open myapp </a> 
	<p></p>
	<p></p>
</html>

验证过程:
点击网页中的“open myapp”超链接 会执行/usr/bin/test.sh脚本,并将’demo://192.168.125.114’传递给
tesh.sh作为脚本参数。

普通用户配置步骤如下

cp demo.desktop  ~/.local/share/applications/;
update-desktop-database  ~/.local/share/applications/;
xdg-mime default demo.desktop x-scheme-handler/demo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值