Bir GUI uygulamasının etkileşimli olarak oturum açan ve bu kullanıcının grafiksel oturumunda başka bir kullanıcı olarak nasıl başlatılacağını çözmeye çalışıyorum.
Örneğin, iki kullanıcım var, foo ve bar. Her ikisi de giriş yapmış, ancak geçerli etkileşimli kullanıcı foo. Calculator.app kullanıcısını "bar" olarak başlatmak istiyorum, böylece kullanıcı bara hızlı bir şekilde geçiş yaptığımda, Hesap Makinesi penceresinin çubuk oturumunda açık olduğunu görüyorum.
İşte denediğim şey işe yaramadı:
sudo -u bar /Applications/Calculator.app/Contents/MacOS/Calculator
Bu Calculator.app'ı çubuk olarak başlatır ancak pencere foo grafik oturumunda açılır.
sudo -u bar osascript -e "tell application \"Calculator\" to activate"
Aynı etki
sudo -u bar open "/Applications/Calculator.app"
Hesap makinesini çubuk değil foo olarak başlatır.
launchctl asuser [uid of bar] [any of the above commands]
Aynı etki
Bunu başarmanın bir yolu var mı? Bass komut dosyası yazma, AppleScript, Core Foundation veya Cocoa programı yazma, vb. Dahil olmak üzere her türlü olası çözümü eğlendirmek istiyorum. Benim durumumda, herhangi bir program veya script root dahil herhangi bir kullanıcı olarak çalıştırılabilir.
Not: Uzak Apple Etkinlikleri kullanmanın mümkün olduğunun farkındayım, ancak bunu kullanmaya çalıştığımdan beri "Uzak Elma Etkinlikleri" nin Paylaşım tercihlerinde etkinleştirileceğine dair hiçbir garantim yok.
Herhangi bir yardım çok takdir edilecektir!
open
Komutu denedinSSH
mi?