如何以编程方式在macosx上执行切换用户

时间:2010-12-20 21:49:19

标签: security macos switch-statement

我正在使用Mac OS X上的安全代理插件,并希望允许用户执行切换用户(与锁定帐户时显示的“切换用户”按钮相同)。 / p>

经过一些研究,我从命令行找到了this thread以下解决方案:

/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend

当用户登录时,启动此命令行很有效。但是,在安全客户端插件的上下文中:“安全客户端以受限制的权限运行,因此用户必须使用图形用户界面实际存在,图形用户界面元素不能通过命令行界面使用,例如终端应用程序或安全shell(ssh)远程会话“

因此命令行调用无法执行。是否还有其他模拟交换机用户的解决方案,比如发送苹果事件?我没有找到任何其他解决方案。

提前感谢任何想法。 最好的问候

1 个答案:

答案 0 :(得分:0)

尝试制作一个为每个用户运行的LaunchAgent。在您的安全代理插件中,连接到当前控制台用户的代理(例如,使用BSD套接字),并告诉它运行CGSession命令。