Ejecutar script en el inicio de session de usuario en networking

El laboratorio de computación está ejecutando 10.8. Me gustaría ejecutar un script cuando los usuarios en networking inicien session. Por lo que puedo decir, mis elecciones son:

agentes de lanzamiento: no destinados para esto. En la página man launchd.plist dice "Un agente lanzado por launchd NO DEBE hacer lo siguiente como parte de su initialization de inicio: Configurar el directory de trabajo". Eso es básicamente lo que hace mi script.

elementos de inicio de session: varias publicaciones indican que funcionaron en 10.7 pero no funcionan en 10.8

hooks de inicio de session: esto funciona, pero el "Customizing Login and Logout" en developer.apple.com dice "Existen numerosas razones para evitar el uso de scripts de inicio y cierre de session: los scripts de inicio de session y de cierre de session son una tecnología en desuso".

No quiero usar algo que no funcionará mañana. Me gustaría hacer esto de la "manera correcta" si hay uno. Por favor avise. Gracias.

One Solution collect form web for “Ejecutar script en el inicio de session de usuario en networking”

Establecer el directory de trabajo para una secuencia de commands

Debe utilizar un trabajo de agente de lanzamiento colocado en la carpeta /Library/LaunchAgents .

El consejo que mencionas, citado a continuación, está dirigido al ejecutable o script que se lanza. Debería dejar que launchd administre el directory de trabajo por usted.

Un daemon o agente lanzado por launchd NO DEBE hacer lo siguiente como parte de la initialization de inicio:

  • Configure la ID de usuario o ID de grupo.
  • Configura el directory de trabajo.
  • chroot (2)
  • setsid (2)
  • Cerrar los descriptores de files "perdidos".
  • Cambia stdio (3) a / dev / null.
  • Configure los límites de resources con setrusage (2).
  • Prioridad de configuration con setpriority (2).
  • Ignora la señal SIGTERM.

El ticket de trabajo de launchd es responsable de solicitar el directory de trabajo deseado; use la tecla WorkingDirectory para establecer el directory. El directory se establecerá automáticamente antes de que se inicie su ejecutable o secuencia de commands.

En la página de manual de launchd.plist (5), encontrará una descripción completa de las keys disponibles en un ticket de trabajo de launchd.

Establecer el directory de trabajo para el usuario

Considere proporcionar un ~ / .bashrc modificado u otro script de inicio de session de shell para proporcionar un trabajo actual conocido directamente.

  • AppleScript: cómo abrir el terminal a pantalla completa y ejecutar commands
  • My Launch Daemon no funciona a pesar de devolver un estado 0
  • ¿Cómo se ejecuta un script .py (python?) En Xcode?
  • ¿Cómo escribo un script que abre una window iTerm2 y ejecuta un command?
  • ¿Cómo puedo saber programáticamente si un process está en la aplicación de la siesta?
  • Cambiando programáticamente / Script-atically la configuration por defecto de Open-With
  • doble contraseña para acceder a la count
  • SIPS: ¿Solo cambia el tamaño si la image es 315x300?
  • Cambiar la fuente de la Terminal mediante progtwigción sin reiniciar
  • Monitorear el contenido de la carpeta con launchd - ┬┐Incluyendo subcarpetas?
  • Ejecute el script al cerrar la session sin usar el gancho de cierre de session
  • Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).