sudo 命令在我的 applescript 中不再起作用

问题描述 投票:0回答:1

为什么这可能不再起作用了? 后台终端密码提示是否发生了变化?

几个月来,我一直使用脚本让我的 MacBook 进入睡眠状态。我通常会禁用睡眠,这样我就可以在不停止任何东西或锁定任何东西的情况下关闭盖子。

直到今天为止,这一切都运行良好。我现在收到: 'sudo:需要终端读取密码;使用 -S 选项从标准输入读取或配置askpass helper sudo:需要密码'

以前,脚本能够自行触发用户提示,并且我将其设置为允许指纹授权。这样我就可以简单地激活脚本,触摸触摸传感器,然后就可以上路了。

完整的脚本是:

do shell script "sudo pmset -a disablesleep 0"

tell application "System Events" to sleep

do shell script "sudo pmset -a disablesleep 1"

并作为应用程序包装在我的应用程序文件夹中。

我尝试使用

sudo -S pmset
但这似乎是为了从其他地方输入密码或某种其他类型的提示。我认为这是错误的,因为我希望它做以前做过的事情。 我认为这是通过终端提示的。

terminal passwords applescript sleep sudo
1个回答
0
投票

我不确定这种方式如何使用

sudo
。无论如何,从 AppleScript 以 root 身份运行 shell 代码的更好方法是使用
with administrator privileges
而不是
sudo

do shell script "pmset -a disablesleep 0" with administrator privileges

tell application "System Events" to sleep

do shell script "pmset -a disablesleep 1" with administrator privileges
© www.soinside.com 2019 - 2024. All rights reserved.