6
วิธีเปิดแอปพลิเคชัน GUI ในเซสชันกราฟิกของผู้ใช้รายอื่น
ฉันกำลังพยายามหาวิธีเปิดแอปพลิเคชัน GUI ในฐานะผู้ใช้อื่นที่เข้าสู่ระบบแบบโต้ตอบในเซสชันกราฟิกของผู้ใช้รายนั้น ตัวอย่างเช่นสมมติว่าฉันมีผู้ใช้สองคนคือ foo และ bar ทั้งสองเข้าสู่ระบบ แต่ผู้ใช้แบบโต้ตอบปัจจุบันคือ foo ฉันต้องการเปิดใช้งาน Calculator.app ในฐานะผู้ใช้ "บาร์" ดังนั้นเมื่อฉันเปลี่ยนผู้ใช้อย่างรวดเร็วเป็นแถบฉันพบว่าหน้าต่างเครื่องคิดเลขเปิดอยู่ในเซสชันของแถบ นี่คือสิ่งที่ฉันพยายามที่ไม่ทำงาน: sudo -u bar /Applications/Calculator.app/Contents/MacOS/Calculator นี่เป็นการเปิดตัว Calculator.app เป็นแถบ แต่หน้าต่างจะเปิดในเซสชันกราฟิกของ foo sudo -u bar osascript -e "tell application \"Calculator\" to activate" ผลเหมือนกัน sudo -u bar open "/Applications/Calculator.app" เปิดตัวเครื่องคิดเลขในฐานะ foo ไม่ใช่แถบ launchctl asuser [uid of bar] [any …