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.

  • ¿Qué processs en segundo plano puedo desactivar para acelerar mi Mac?
  • cómo usar la terminal para eliminar el elemento del muelle
  • Establecer variables de entorno para scripts ejecutados por launchd?
  • Ayuda a crear files zip con 50 files en cada
  • ¿Es posible mostrar icons personalizados en el menu Scripts?
  • ¿Cómo creo un script para crear / modificar counts de administrador locales?
  • Necesita ayuda con un Applescript / plist
  • error "Los eventos del sistema obtuvieron un error: no se puede obtener el proceso de la aplicaciĆ³n" Preferencias del sistema ".
  • ¿Dónde está mi file crontab?
  • ¿Los processs de Terminal se detienen si Mac duerme?
  • ¿Cómo puedo ver cuánto time mi computadora ha estado activa (no está inactiva)?
  • ¿Hay alguna aplicación para replace a granel un área de un PDF con una image preestablecida?
  • ¿Deshabilitar iTunes usando un script?
  • Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).