¿Cómo cerrar aplicaciones en suspensión?

3

Tengo una aplicación de administración de contraseñas (KeePassX) cuya copia de seguridad sincronizo a través de Dropbox en varias computadoras.

Sin embargo, la base de datos de contraseñas solo se puede abrir en una computadora a la vez por motivos de bloqueo de archivos. Los problemas surgen cuando una computadora se pone en suspensión y la aplicación se deja abierta en esta computadora, los bloqueos de la base de datos nunca se eliminan y, en el peor de los casos, hay cambios no guardados en la base de datos.

¿Sería posible hacer un programa para provocar un cierre en el modo de suspensión (como con el apagado) o grabar una macro que cierre el programa cuando la computadora se pone en modo de suspensión o se pone en suspensión mediante el menú Apple?

    
pregunta Mikko Ohtamaa 06.02.2014 - 20:22

2 respuestas

3

Es difícil para mí no cuestionar la validez de tu configuración (¡sincronización rota!), pero ... para hacer algo en modo de suspensión o activación, deberías intentar SleepWatcher por Bernhard Baehr (más información en Sugerencias de Mac OS X ). Está utilizando launchd para el monitoreo.

  

[SleepWatcher] es una herramienta de línea de comandos (daemon) [...] que controla el sueño, la activación   […] De una Mac. Se puede usar para ejecutar un comando de Unix cuando la Mac   [...] se pone en modo de suspensión o se despierta, [...]

Si tienes un poco de experiencia en terminales, creo que puedes configurarlo. Asegúrese de leer la sección "Instalación para nuevos usuarios de SleepWatcher" bien oculta en ReadMe.rtf

    
respondido por el myhd 06.02.2014 - 22:50
1

Instalando SleepWatcher :

wget http://www.bernhard-baehr.de/sleepwatcher_2.2.tgz
tar -xf sleepwatcher_2.2.tgz
sudo mkdir -p /usr/local/sbin /usr/local/share/man/man8
sudo cp sleepwatcher_2.2/sleepwatcher /usr/local/sbin
sudo cp sleepwatcher_2.2/sleepwatcher.8 /usr/local/share/man/man8
cp sleepwatcher_2.2/config/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist
echo $'#!/bin/bash\ndate>/tmp/date'>~/.sleep
echo $'#!/bin/bash\nsay wake up'>~/.wakeup
chmod +x ~/.wakeup ~/.sleep

También puedes probar SleepWatcher ejecutando /usr/local/sbin/sleepwatcher --verbose --sleep ~/.sleep --wakeup ~/.wakeup .

Puedes salir de la aplicación ejecutando osascript -e 'quit app "Application Name"' o simplemente killall Application\ Name .

    
respondido por el user495470 07.02.2014 - 18:36

Lea otras preguntas en las etiquetas