Mirachael
V2EX  ›  问与答

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

  •  
  •   Mirachael · Dec 9, 2016 · 3909 views
    This topic created in 3465 days ago, the information mentioned may be changed or developed.

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

    10 replies    2018-05-21 16:08:29 +08:00
    jswh
        1
    jswh  
       Dec 9, 2016   ❤️ 1
    你需要把这些写成一个脚本,然后给脚本赋予 +s 权限。赋予 +s 权限的时候需要密码, 以后再运行这个脚本就不用权限了。建议你能用 native 就 native 吧, eletron 在 mac 里各种坑。
    Mirachael
        2
    Mirachael  
    OP
       Dec 9, 2016
    @jswh chmod +s ./network 后再执行,还是需要密码,不知道为什么。( network 里是 networksetup -setwebproxy "WI-FI" 127.0.0.1 4411 )
    jswh
        3
    jswh  
       Dec 9, 2016
    建议去看一下 shadowsocksX 是怎么处理这个问题的 @mojixiang1102
    SoloCompany
        4
    SoloCompany  
       Dec 10, 2016
    @jswh s 权限不够吧, owner 还必须是 root
    Mirachael
        5
    Mirachael  
    OP
       Dec 15, 2016
    @SoloCompany @jswh 已经解决, shadowsocks 里是便宜了一个 helper exec 来修改底层的配置
    erguotou521
        6
    erguotou521  
       Jan 12, 2018
    @mojixiang1102 想问下楼主后来怎么解决的?我也有类似的问题。
    Mirachael
        7
    Mirachael  
    OP
       Jan 13, 2018
    @erguotou521 看一下 shadowsocksX 就知道了,写了一个 helper
    erguotou521
        8
    erguotou521  
       Jan 15, 2018
    @mojixiang1102 是说这个么 https://github.com/shadowsocks/ShadowsocksX-NG/blob/develop/proxy_conf_helper/main.m
    这个如何直接在 electron 中引用?
    erguotou521
        9
    erguotou521  
       Jan 17, 2018
    ok,我也解决了。将生成后的 proxy_conf_helper 复制到项目里使用,并按照 install_helper.sh 中的方法赋权就可以了
    mjhlybmwq
        10
    mjhlybmwq  
       May 21, 2018
    我还是没懂,能详细解释一下吗?有例子吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1047 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 447ms · UTC 23:10 · PVG 07:10 · LAX 16:10 · JFK 19:10
    ♥ Do have faith in what you're doing.