Consulte /apple//a/102105/1860 para ver por qué su
no funciona para todas las aplicaciones.
bsexec de launchd
Las versiones recientes de launchd
tienen la capacidad de iniciar aplicaciones dentro de la sesión de otro usuario; aunque los ingenieros de Apple no han recomendado su uso general.
Use la bsexec
opción en launchctl para apuntar a la sesión de usuario adecuada:
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.
El enfoque recomendado es escribir un ticket de trabajo lanzado y reiniciar la Mac, o pedirle al usuario que cierre la sesión y vuelva a iniciarla.
su
si uno no lo deseasudo
. ¡Gracias!