ดู/apple//a/102105/1860สำหรับสาเหตุที่ใช้su
ไม่ได้กับทุกแอปพลิเคชัน
bsexec ของ launchd
เวอร์ชันล่าสุดของlaunchd
ความสามารถในการเปิดใช้งานแอปพลิเคชันภายในเซสชันของผู้ใช้อื่น แม้ว่าวิศวกรของ Apple จะไม่แนะนำให้ใช้งานทั่วไป
ใช้bsexec
ตัวเลือกในlaunchctlเพื่อกำหนดเป้าหมายเซสชันผู้ใช้ที่เหมาะสม:
bslist [PID | ..] [-j]
This prints out Mach bootstrap services and their respective states. While the namespace
appears flat, it is in fact hierarchical, thus allowing for certain services to be only avail-
able to a subset of processes. The three states a service can be in are active ("A"), inactive
("I") and on-demand ("D").
If [PID] is specified, print the Mach bootstrap services available to that PID. If [..] is
specified, print the Mach bootstrap services available in the parent of the current bootstrap.
Note that in Mac OS X v10.6, the per-user Mach bootstrap namespace is flat, so you will only
see a different set of services in a per-user bootstrap if you are in an explicitly-created
bootstrap subset.
If [-j] is specified, each service name will be followed by the name of the job which regis-
tered it.
bsexec PID command [args]
This executes the given command in the same Mach bootstrap namespace hierachy as the given
PID.
bstree [-j]
This prints a hierarchical view of the entire Mach bootstrap tree. If [-j] is specified, each
service name will be followed by the name of the job which registered it. Requires root priv-
ileges.
วิธีที่แนะนำคือการเขียนตั๋วงาน launchd และรีสตาร์ท Mac - หรือขอให้ผู้ใช้ออกจากระบบและกลับมาอีกครั้ง
su
sudo
ขอบคุณ!