PHP-在用户的 GUI 会话中执行

PHP-在用户的 GUI 会话中执行

我正在尝试获取一个 PHP 脚本来执行一个打开应用程序的 Applescript。*

PHP 在用户下运行_www使用命令执行 Applescript osascript,它无法运行我的 Applescript 程序,因为_www 没有桌面环境

所以我想:我只需要sudo我的用户。我曾经visudo添加一个条目_www,允许它在没有密码的情况下运行我的脚本(sudo -u myUser ...)。这很有效!sudo将用户切换到我,并顺利运行了大多数命令。只是我仍然没有桌面环境!我可以运行仅 shell 命令;whoami返回我的用户名,而不是_www。但 AppleScript 无法工作。我切换了用户,但还没有切换到桌面环境。

所以,我的问题是:有没有办法让 PHP 在另一个用户的桌面环境中执行程序?我怀疑不是...


作为替代方案,我认为我可以在 PHP 程序(以 身份运行_www)和另一个以我的用户身份运行的程序之间建立本地套接字链接。后者程序将监听套接字,直到 PHP 发送消息。如果上述方法不起作用,也许我会这样做。


*为了完全透明,我实际上想做的是:我想给自己发一条 iMessage。苹果就是苹果,仅有的以编程方式发送 iMessages 的方法是通过 AppleScript 编写信息应用。虽然麻烦,但确实有效。

如果以上任何一项都无法实现,我只会使用 SMS 而忘记 iMessage。

相关内容