PHP - Exec on user's GUI session

General Tech Bugs & Fixes 2 years ago

0 1 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

I am trying to get a PHP script to execute an Applescript which opens an application.*

PHP is running under the _www user. And while it can execute Applescripts with the osascriptcommand, it can't run my Applescript program, because _www has no desktop environment.

So I thought: I'll just use sudo to run the AppleScript under my user. I used visudo to add an entry for _www which would allow it run my script without a password (sudo -u myUser ...). This worked great! sudo switched the user to me and ran most commands without a hitch. Except I still didn't have a desktop environment! I could run shell-only commands; whoami returned my username, not _www. But AppleScript failed to work. I had switched the user, but had not switched into a desktop environment.

So, my question: is there a way that PHP can execute programs in another user's desktop environment? I suspect not...


As an alternative, I thought I might establish a local-socket link between my PHP program (running as _www) and another program running under my user. The latter program will listen on the socket until PHP sends a message. Perhaps I'll do this if the above doesn't work.


*In the interest of full transparency, what I'm actually trying to do: I want to send an iMessage to myself. Apple being Apple, the only way of programmatically send iMessages is through AppleScript-ing the Messages app. Messy, but it works.

If there is no way to do either of the above, I'll just use SMS and forget iMessage.

0 views
0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.