浏览器中调用Linux程序,ubuntu下浏览器调用本地应用程序

ubunut下浏览器调用本地应用程序需要desktop文件和scheme协议的支持,和windows 的url protocol类似,只是注册协议的方式不一样。

首先是desktop文件,里面需要加入一个字段来注册协议

MimeType=x-scheme-handler/test

接着在Exec字段中加入 %u来接受参数

Exec=/usr/local/Test/test %u

如果需要root权限则需要使用gksu,它可以让应用程序启动的时候弹出对话框输入root密码,从而以root权限启动程序,如下图

[Desktop Entry]

Type=Application

Exec=gksu /usr/local/Test/test %u

Name=Test

GenericName=My Test App.

Icon=/usr/local/Test/app.png

Terminal=false

Categories=Network;

MimeType=x-scheme-handler/test

Name[zh_CN]=我的测试web

接着需要运行一个命令更新协议

sudo update-desktop-database

然后是html里面,代码如下

open Test

这样点击调用后,是类似 /usr/local/Test/test 'Test:xxx xxx' 这种调用方式。 如果是windows的话,是类似 /usr/local/Test/test xxx xxx 这种方式,所以两者解析命令行参数的时候要注意区别

你可能感兴趣的:(浏览器中调用Linux程序)