macOS - 当 运行 一个 shell 脚本作为 root 用户切换到管理员用户
macOS - Switch to admin user when running a shell script as a root user
所以,我有这个 name.sh 脚本和一堆 shell 命令。
我需要在结束该脚本之前更改壁纸。
我正在使用
osascript -e 'tell application "System Events.app" to set picture of every desktop to "/Library/Desktop Pictures/my.jpg"'
在行尾。问题是 Apple Script 不会 运行 在 root 下。因为系统事件将首先抛出 10810,然后抛出 600(应用程序不是 运行ning)。如果我 运行 这个 osascript 在管理员用户下,它会工作得很好。将设置壁纸。
让我知道你们如何帮助我!
如果您已经是 root
,您拥有随时切换到不同用户帐户的全部权限。该命令是 su
.
如果您的用户是 admin
,
su - admin <<\:
osascript -e 'tell application "System Events.app" to set picture of every desktop to "/Library/Desktop Pictures/dneg.jpg"'
:
有多种方法可以将命令作为标准输入传递给 su
;或许还可以参见
所以,我有这个 name.sh 脚本和一堆 shell 命令。 我需要在结束该脚本之前更改壁纸。
我正在使用
osascript -e 'tell application "System Events.app" to set picture of every desktop to "/Library/Desktop Pictures/my.jpg"'
在行尾。问题是 Apple Script 不会 运行 在 root 下。因为系统事件将首先抛出 10810,然后抛出 600(应用程序不是 运行ning)。如果我 运行 这个 osascript 在管理员用户下,它会工作得很好。将设置壁纸。
让我知道你们如何帮助我!
如果您已经是 root
,您拥有随时切换到不同用户帐户的全部权限。该命令是 su
.
如果您的用户是 admin
,
su - admin <<\:
osascript -e 'tell application "System Events.app" to set picture of every desktop to "/Library/Desktop Pictures/dneg.jpg"'
:
有多种方法可以将命令作为标准输入传递给 su
;或许还可以参见