Saya mencoba mencari cara untuk meluncurkan aplikasi GUI sebagai pengguna lain yang masuk secara interaktif, dalam sesi grafis pengguna tersebut.
Misalnya, saya punya dua pengguna, foo dan bar. Keduanya masuk, tetapi pengguna interaktif saat ini adalah foo. Saya ingin meluncurkan Calculator.app sebagai "bilah" pengguna, sehingga ketika saya berpuasa pengguna beralih ke bilah, saya menemukan jendela Kalkulator terbuka di sesi bilah.
Inilah yang saya coba yang tidak berhasil:
sudo -u bar /Applications/Calculator.app/Contents/MacOS/Calculator
Ini meluncurkan Calculator.app sebagai bilah, tetapi jendela terbuka di sesi grafis foo.
sudo -u bar osascript -e "tell application \"Calculator\" to activate"
Efek yang sama.
sudo -u bar open "/Applications/Calculator.app"
Meluncurkan Kalkulator sebagai foo, bukan bar.
launchctl asuser [uid of bar] [any of the above commands]
Efek yang sama.
Apakah ada cara untuk mencapai ini? Saya bersedia untuk menghibur segala macam solusi yang mungkin, termasuk bash scripting, AppleScript, menulis Core Foundation atau program Cocoa, dan sebagainya. Dalam situasi saya, semua program atau skrip dapat dijalankan sebagai pengguna mana pun, termasuk root.
Catatan: Saya sadar bahwa itu mungkin menggunakan Acara Apple jarak jauh, tetapi saya tidak dapat menggunakannya karena dalam situasi yang saya coba lakukan ini saya tidak memiliki jaminan bahwa "Acara Apple Jarak Jauh" akan diaktifkan di preferensi Berbagi.
Bantuan apa pun akan sangat dihargai!
open
perintah, menggunakanSSH
?