linux上实现使用自定义URL访问本地程序

本文介绍了如何在Linux的gnome和kde桌面环境下创建自定义URL协议,使得浏览器能够调用本地程序。通过配置gconf或编辑.desktop文件,设置程序执行路径和参数,普通用户和root用户的配置步骤也一并给出。完成配置后,浏览器即可通过如'foo://123'这样的链接启动本地程序。
摘要由CSDN通过智能技术生成

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

第一种是在gnome桌面环境下(只适用rhel6),执行以下步骤 并且重启系统(我没试过)

gconftool-2 -t string -s /desktop/gnome/url-handlers/foo/command 'foo "%s"'
gconftool-2 -s /desktop/gnome/url-handlers/foo/needs_terminal false -t bool
gconftool-2 -s /desktop/gnome/url-handlers/foo/enabled true -t bool

第二种:是在kde桌面环境下(同样适用于centos7):

1. 新建一个foo.desktop,内容如下:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/foo %u
Name=APT‑URL
Comment=APT‑URL handler
Icon=
Categories=Application;Network;
MimeType=x-scheme-handler/foo;

各参考字段介绍如下

Recognized desktop entry keys

其中terminal代表是否要再启动一个终端。

Name代表拉起应用程序时,要显示的程序名字。

Icon代表拉起应用程序时,要显示的程序图标的路径。

Exec字段代表要拉起的程序,其中后面(%u)带的参数是拉起的url参数,参数参考文档:

The Exec key​​​​​​The Exec key

2.普通用户跟root用户配置不一样

root用户配置:

  • 拷贝文件
cp foo.desktop /usr/share/applications/
  • 更新
update-desktop-database
  • 注册协议
xdg-mime default foo.desktop x-scheme-handler/foo

普通用户配置

  • 拷贝文件
cp foo.desktop ~/.local/share/applications/;
  • 更新
update-desktop-database ~/.local/share/applications/
  • 注册foo协议
cd ~/.local/share/applications/
xdg-mime default foo.desktop x-scheme-handler/foo

配置完了之后就可以在浏览器使用 foo://123 拉起本地程序了。 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值