当您以其他用户身份登录时,是否可以以 root 身份运行 Mac OS X GUI 应用程序?[是的,我知道这通常是个坏主意。]
当我尝试
sudo open /Path/To/My.app
据我所知,它以登录用户身份运行。
[我确定你想知道我为什么要这样做。叹。我在不是由 NetRestore Helper 创建的 NetBoot 映像中运行 NetRestore,因为在执行还原后我需要运行一些其他 GUI 软件。它登录到标准管理员帐户。通常,当您运行 NetRestore 时,它会要求您在还原之前进行身份验证。它似乎确定它是 NetBooted 并假设它在 root 帐户下运行,并且拒绝请求身份验证,因此没有足够的权限来执行还原。]
[很可能我将不得不调整我的网络启动设置,以便它自动登录到 root 帐户,但如果我可以只以 root 身份运行一个应用程序,那么设置时间会少得多。]
[是的,我可以想出另一种方法来进行多播还原,但 NetRestore 已经过验证、友好,并且在 Leopard 下仍然有效。作为替代方案,我可以将asr命令与iHook一起使用。]
open
如果您想以其他用户身份运行,请不要使用。打开通过 LaunchServices 启动您要求的应用程序,它会像您双击它一样加载它。但是,如果您直接运行应用程序二进制文件,它将起作用。例如,以 root 身份(因此从已经以 root 身份运行的脚本或 via
sudo
)运行/Applications/TextEdit.app/Contents/MacOS/TextEdit
,TextEdit 将以 root 身份运行。您可能想为此尝试Pseudo,因为您可以使用它来启动具有系统管理员权限的应用程序。
我不太确定你在问什么。如果你想让某些东西自动运行,我猜你可以使用程序的启动文档功能来创建启动路径。我没有使用过这个功能,但它可能是你想要研究的东西。