簡體   English   中英

macOS - 以 root 用戶身份運行 shell 腳本時切換到管理員用戶

[英]macOS - Switch to admin user when running a shell script as a root user

所以,我有一個帶有一堆 shell 命令的 name.sh 腳本。 我需要在結束該腳本之前更改壁紙。

我正在使用

osascript -e 'tell application "System Events.app" to set picture of every desktop to "/Library/Desktop Pictures/my.jpg"'

在行尾。 問題是Apple Script 不會在root 下運行。 因為系統事件首先會拋出 10810,然后是 600(應用程序未運行)。 如果我在管理員用戶下運行這個 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 也可以參見Pass commands as input to another command (su, ssh, sh, etc)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM