Estoy tratando de averiguar cómo iniciar una aplicación de interfaz de usuario como otro usuario que se registra en forma interactiva, en la que el usuario de la sesión gráfica.
Por ejemplo, decir que tengo dos usuarios, foo y bar. Tanto la sesión, pero el usuario interactivo actual es foo. Me gustaría lanzar la Calculadora.aplicación como usuario "bar", así que cuando me cambio rápido de usuario a la barra, me parece que la Calculadora se abra la ventana en la barra de sesión.
Esto es lo que yo he probado que no funciona:
sudo -u bar /Applications/Calculator.app/Contents/MacOS/Calculator
De esta forma se inicia la Calculadora.aplicación como bar, pero la ventana se abre en foo gráfica de la sesión.
sudo -u bar osascript -e "tell application \"Calculator\" to activate"
El mismo efecto.
sudo -u bar open "/Applications/Calculator.app"
Lanza de la Calculadora como foo, no de la barra.
launchctl asuser [uid of bar] [any of the above commands]
El mismo efecto.
Es allí cualquier manera de lograr esto? Estoy dispuesto a entretener a todo tipo de posibles soluciones, incluyendo scripts de bash, AppleScript, la escritura de un Núcleo de Fundación o de Cacao del programa, y así sucesivamente. En mi situación, cualquier programa o secuencia de comandos se puede ejecutar como cualquier usuario, incluyendo la root.
Nota: soy consciente de que es posible, mediante remoto Eventos de Apple, pero no los puedo usar que, dado que en la situación que estoy tratando de hacer esto tengo ninguna garantía de que "Remoto Eventos de Apple" será activado en las preferencias de Compartir.
Cualquier ayuda sería muy apreciada!