Ejecutar script en el inicio de sesión de usuario en red

1

El laboratorio de computación está ejecutando 10.8. Me gustaría ejecutar un script cuando los usuarios en red inician sesión. Por lo que puedo decir, mis opciones son:

agentes launchd - no destinados para esto. En la página del manual de launchd.plist dice "Un agente lanzado por launchd NO DEBE hacer lo siguiente como parte de su inicialización de inicio: Configurar el directorio de trabajo". Eso es básicamente lo que hace mi guión.

elementos de inicio de sesión: varias publicaciones indican que funcionaron en 10.7 pero no en 10.8

enganches de inicio de sesión: esto funciona, pero el "Personalizar el inicio de sesión y el cierre de sesión" en developer.apple.com dice "Existen varias razones para evitar el uso de los scripts de inicio y cierre de sesión: los scripts de inicio y cierre de sesión son una tecnología obsoleta".

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

    
pregunta Slim Volume 01.04.2013 - 19:23

1 respuesta

0

Configuración del directorio de trabajo para una secuencia de comandos

Debes usar un trabajo de agente launchd colocado en la carpeta /Library/LaunchAgents .

El consejo que menciona, citado a continuación, está dirigido al ejecutable o al script que se está lanzando. Debes dejar que launchd administre el directorio de trabajo por ti.

  

Un daemon o agente lanzado por launchd NO DEBE hacer lo siguiente como parte de su inicialización de inicio:

     
  • Configure el ID de usuario o el ID de grupo.
  •   
  • Configurar el directorio de trabajo.
  •   
  • chroot (2)
  •   
  • setsid (2)
  •   
  • Cierre los descriptores de archivos "extraviados".
  •   
  • Cambie stdio (3) a / dev / null.
  •   
  • Configure los límites de recursos con setrusage (2).
  •   
  • Configurar la prioridad con setpriority (2).
  •   
  • Ignora la señal SIGTERM.
  •   

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

Una descripción completa de las claves disponibles en un ticket de trabajo launchd están disponibles en launchd.plist (5) página de manual .

Configuración del directorio de trabajo para el usuario

Considere proporcionar un ~ / .bashrc modificado u otro script de inicio de sesión de shell para proporcionar una corriente conocida que trabaja directamente.

    
respondido por el Graham Miln 01.04.2013 - 20:41

Lea otras preguntas en las etiquetas