找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 15539|回复: 16

请教Luci Save&Apply 如何工作的?

[复制链接]
大家好,我是Openwrt 的新人,现在在研究Openwrt luci 界面上的 Save & Apply 是如何工作的? 但是还没有进展,在网上查了一下好多帖子的给出的luci 的sample  都是通过在module lua 文件中加
local apply = luci.http.formvalue("cbi.apply")
if apply then
    io.popen("/etc/init.d/loogson restart")
end
来实现用户按 “Apply”执行一些动作。但是Openwrt 的好多功能的模块里都没有这个,用户按了save & apply 后也是立即生效了,这个是通过什么方式让界面的配置生效的?
比如我最近在看openwrt 的qos 模块,这个 luci-qos 这个模块的lua中并没有关于 save &apply 按键的处理,为什么我按了save & apply 后配置就有效了? 这个是怎么有效的?
如果我没记错的话请见/etc/config/ucitrack
回复

使用道具 举报

 楼主| | 显示全部楼层
981213 发表于 2015-1-30 15:17
如果我没记错的话请见/etc/config/ucitrack

谢谢! 能否再讲的具体一点,我看了这个文件,这个文件其实是个配置文件,在里面也发现Qos了,但我有几个疑问:
1,  这个文件里的内容代表什么意思? 它怎样和界面中的Save & Apply 联系起来?
2,  这个文件里的内容是自动添加的吗? 如果是手动添加的,那我们自己写一些模块,并且把我们的模块也加到这个文件中,是不是界面上按 Save & Apply 就直接有效了?
回复

使用道具 举报

七彩之地 发表于 2015-1-30 15:50
谢谢! 能否再讲的具体一点,我看了这个文件,这个文件其实是个配置文件,在里面也发现Qos了,但我有 ...

文件是通过uci-defaults脚本手动添加的。这里面设定了应用对应的init脚本。保存并应用之后相应程序会重启
脚本位置在applications/XXXXXX/root/etc/uci-defaults,每个应用都在这里有对应的设置脚本。可以参照着添加。
注意添加的脚本文件名不能和已有脚本重名
回复

使用道具 举报

 楼主| | 显示全部楼层
981213 发表于 2015-1-30 19:12
文件是通过uci-defaults脚本手动添加的。这里面设定了应用对应的init脚本。保存并应用之后相应程序会重启 ...

谢谢! 但是你的回复我不是太明白,请帮忙确认一下。
1. 文件是通过uci-defaults脚本手动添加的。 : 这个是说etc/config 目录下的每个脚本文件都是这样添加的? 还是说 ucitrack 这个文件是这么添加的? 我在code 中搜索了一下,没有发现有那个code 会修改ucitrack 。
2: 脚本位置在applications/XXXXXX/root/etc/uci-defaults : 这个具体是个什么路径? 我在code中没有找到这个路径,可否帮忙提供完整的路径?
3:是不是说etc/config 下的好多配置文件可以通过 uci-defaults 来添加或者修改内容 ?
回复

使用道具 举报

楼上全部解释了,没啥要补充的了
回复

使用道具 举报

 楼主| | 显示全部楼层
welcoco 发表于 2015-2-3 16:27
楼上全部解释了,没啥要补充的了

你的意思是? 可否解释清楚 ?
回复

使用道具 举报

就是路上那位解释的啊,按键后触发的文件全部在那个config里面
回复

使用道具 举报

 楼主| | 显示全部楼层
welcoco 发表于 2015-2-3 17:44
就是路上那位解释的啊,按键后触发的文件全部在那个config里面

你是说 ucitrack 这个文件吗?  
uci-defaults  有什么作用?  ucitrack  也会被 uci-defaults 修改吗?
applications/XXXXXX/root/etc/uci-defaults 这个路径是什么路径呀? 我在我这里都没有找到。
回复

使用道具 举报

七彩之地 发表于 2015-2-3 18:38
你是说 ucitrack 这个文件吗?  
uci-defaults  有什么作用?  ucitrack  也会被 uci-defaults 修改吗? ...

是的,肯定会北修改啊,你加了修改的语句才会,不加是不会的
回复

使用道具 举报

 楼主| | 显示全部楼层
welcoco 发表于 2015-2-4 10:27
是的,肯定会北修改啊,你加了修改的语句才会,不加是不会的

uci-defaults 这个完整的路径是什么呀? 我发现代码中有很多 uci-defaults文件夹,也有uci-defaults.sh。 咱们现在讨论的uci-defaults究竟是哪一个 ?
回复

使用道具 举报

你看luci里对应的app里面有很多软件。随便进去个。里面root目录的就是了,每个app都对应一个,当然多了
回复

使用道具 举报

 楼主| | 显示全部楼层
welcoco 发表于 2015-2-4 11:16
你看luci里对应的app里面有很多软件。随便进去个。里面root目录的就是了,每个app都对应一个,当然多了

谢谢! 我来查看一下,我还有两个问题想请教一下。
问题1: 按 save & apply 后,Cursor.apply 会被执行去让修改后的配置生效,但是一直没有找到是那个模块代码在调用 Cursor.apply ?
问题2: lua 这个语言应该如何加log?我想在lua 语言模块中加一些log信息,应该如何加。
回复

使用道具 举报

好贴,又学习了一些东西。顶起来
回复

使用道具 举报

七彩之地 发表于 2015-2-4 13:55
谢谢! 我来查看一下,我还有两个问题想请教一下。
问题1: 按 save & apply 后,Cursor.apply 会被执行 ...

保存应用 ,调用这个文件ucitrack,--》再即时调用,etc/int.执行程序脚本代码,要写代码运行就在这里写,cbi 里面mode加入只是修改LUCI界面的,参数,让参数能付个值出来,给int.和config文件

一般int脚本要重启开机才执行。这个文件ucitrack里面记录了的APP。当执行对应cbi下的lua文件会即时执行,对应目录的init脚 本。,即自己写的程序!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-10 00:41

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表