繁体   English   中英

bash - Mac OS X - 如何以多个用户身份运行应用程序?

[英]bash - Mac OS X - how to run an application as multiple users?

我需要同时使用多个实例(不同的凭据)运行相同的应用程序(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。您有任何提示/解决方法吗?

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

Joseph Beeson 的 RunAs 一直工作到 OS X Sierra / High Sierra。 其他开发人员也制作了类似的应用程序,但从 Mojave 开始,所有这些应用程序都不再有效。 可能这就是这些项目被放弃并删除的原因:即使您 - 像我一样 - 使用 Sierra / High Sierra,您也找不到这些应用程序。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM