关于在 electron app 中执行系统命令需要多次输入密码的问题?

2016-12-09 15:36:44 +08:00
 Mirachael

如题,在用 electron 开发一个桌面 app ,需要在 main process 中调用networksetup -setwebproxy "WI-FI" 127.0.0.1 4411networksetup -setwebproxystate WI-FI off多次,由于该命令需要系统权限,所以每次都需要输入密码。请教下,有没有方法只输入一次密码,后面的操作都不需要再输入密码了。

2817 次点击
所在节点    问与答
10 条回复
jswh
2016-12-09 16:10:43 +08:00
你需要把这些写成一个脚本,然后给脚本赋予 +s 权限。赋予 +s 权限的时候需要密码, 以后再运行这个脚本就不用权限了。建议你能用 native 就 native 吧, eletron 在 mac 里各种坑。
Mirachael
2016-12-09 17:13:25 +08:00
@jswh chmod +s ./network 后再执行,还是需要密码,不知道为什么。( network 里是 networksetup -setwebproxy "WI-FI" 127.0.0.1 4411 )
jswh
2016-12-09 17:25:58 +08:00
建议去看一下 shadowsocksX 是怎么处理这个问题的 @mojixiang1102
SoloCompany
2016-12-10 16:11:53 +08:00
@jswh s 权限不够吧, owner 还必须是 root
Mirachael
2016-12-15 13:23:36 +08:00
@SoloCompany @jswh 已经解决, shadowsocks 里是便宜了一个 helper exec 来修改底层的配置
erguotou521
2018-01-12 13:28:12 +08:00
@mojixiang1102 想问下楼主后来怎么解决的?我也有类似的问题。
Mirachael
2018-01-13 21:53:38 +08:00
@erguotou521 看一下 shadowsocksX 就知道了,写了一个 helper
erguotou521
2018-01-15 10:57:01 +08:00
@mojixiang1102 是说这个么 https://github.com/shadowsocks/ShadowsocksX-NG/blob/develop/proxy_conf_helper/main.m
这个如何直接在 electron 中引用?
erguotou521
2018-01-17 22:35:30 +08:00
ok,我也解决了。将生成后的 proxy_conf_helper 复制到项目里使用,并按照 install_helper.sh 中的方法赋权就可以了
mjhlybmwq
2018-05-21 16:08:29 +08:00
我还是没懂,能详细解释一下吗?有例子吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/326449

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX