在linux自定义合同linux自启动c程序,让浏览器可以调用本地程序第一种是在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;
各参考数组介绍如下
Recognizeddesktopentrykeys
其中terminal代表是否要再启动一个终端。
Name代表拉起应用程序时linux命令chm,要显示的程序名子。
Icon代表拉起应用程序时red hat linux,要显示的程序图标的路径。
Exec数组代表要拉起的程序linux自启动c程序,其中前面(%u)带的参数是拉起的url参数,参数参考文档:
TheExeckeyTheExeckey
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/
cd ~/.local/share/applications/
xdg-mime default foo.desktop x-scheme-handler/foo
配置完了以后就可以在浏览器使用foo://123拉起本地程序了。