是否有可能以root身份运行OS X GUI应用程序?

以不同的用户身份login时是否可以以root身份运行Mac OS X GUI应用程序? [是的,我认识到这通常是一个坏主意。]

当我尝试

sudo open /Path/To/My.app 

它就像login用户那样运行,据我所知。

[我确定你想知道为什么我要这样做。 叹。 我在NetRestore Helper创build的NetBoot映像中运行NetRestore,因为我需要在执行还原后运行其他GUI软件。 它login到一个标准的pipe理员帐户。 通常,当您运行NetRestore时,它会要求您在恢复之前进行身份validation。 看起来,它确定它是NetBooted,并假定它在root帐户下运行,并拒绝请求validation,因此没有足够的权限执行恢复。]

[最有可能的是我将不得不调整我的networking启动设置,所以它会自动login到root帐户,但是如果我只能以root身份运行一个应用程序,则需要更less的时间来设置。

[是的,我可以想出另一种方法来进行组播还原,但是NetRestore已经被certificate,友好,并且仍然在Leopard下运行。 作为替代,我可以在iHook上使用asr命令。]

如果您想以另一个用户身份运行,请不要使用open 。 打开启动您通过LaunchServices要求的应用程序将加载它,就像你双击它。

如果你直接运行应用程序二进制文件,它将工作。 所以,例如,作为根(所以从一个脚本已经运行为根,或通过sudo )运行/Applications/TextEdit.app/Contents/MacOS/TextEdit和TextEdit将以root身份运行。

您可能需要为此尝试Pseudo ,因为您可以使用它来以系统pipe理员的权限启动应用程序。

我不太清楚你在问什么。 如果你想自动运行某些东西,我想可以使用程序的启动文档function来创build启动path。 我没有使用这个function,但它可能是你想看的东西。