【问题标题】:bash - Mac OS X - how to run an application as multiple users?bash - Mac OS X - 如何以多个用户身份运行应用程序?
【发布时间】:2020-04-09 16:29:15
【问题描述】:

我需要同时使用多个实例(不同的凭据)运行同一个应用程序(cocoa native,而不是 X11)。

我正在 Mac OS X Sierra 和不同的 Skype 帐户上进行测试(任何可可应用都适合测试)。所以我创建了 2 个额外的 OS X 用户,以便隔离用户空间:u01 和 u02,以及主用户。

我从主用户的桌面打开终端:

sudo su u01 -c /Applications/Skype.app/Contents/MacOS/iTunes &

活动监视器说 iTunes 以 u01 运行,完美。

sudo su u02 -c /Applications/Skype.app/Contents/MacOS/iTunes &

相反,此 Skype 实例成为 u01 的 Skype 的子进程,并且 u02 不存在于活动监视器中。

我尝试使用 ssh -X,但它似乎只适用于 X11。 Docker 是无头的,并且仍然绑定在 X11 上(不考虑学习曲线)。还没有成功测试:本机沙箱,GNU 并行。我在 Sierra 上尝试使用 Joseph Beeson 的 RUNAS,它可以工作,但无法从 bash 自动化,自 2011 年以来未更新,不适用于较新的 OS X。您有任何提示/解决方法吗?

【问题讨论】:

    标签: bash macos ssh applescript


    【解决方案1】:

    经过大量阅读和多次尝试,我找到了一个可行的解决方案。

    Joseph Beeson 的 RunAs 一直工作到 OS X Sierra / High Sierra。其他开发人员也制作了类似的应用程序,但从 Mojave 开始,它们都不再工作了。可能这就是这些项目被放弃和删除的原因:即使你像我一样使用 Sierra / High Sierra,你也无法在任何地方找到这些应用程序。

    两个月后,我通过 WayBackMachine 成功检索到原始 RunAs,这是唯一的下载链接:https://web.archive.org/web/20150630193356if_/http://josephbeeson.com/uploads/RunAs.zip

    它很慢,而且自定义程度不高:它会打开一个对话框来选择要运行的应用程序和运行它的用户,但是通过一些 applescript,我能够完全自动化它。为约瑟夫干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 2013-06-18
      相关资源
      最近更新 更多