Come chiudere le applicazioni durante il sonno?

3

Ho un'applicazione di gestione password (KeePassX) di cui eseguo il backup su Dropbox su più computer.

Tuttavia, il database delle password può essere aperto solo su un computer alla volta per motivi di blocco dei file. I problemi sorgono quando un computer va in stop e l'applicazione viene lasciata aperta su questo computer, i blocchi del database non vengono mai rimossi e nel peggiore dei casi ci sono modifiche non salvate nel database.

Sarebbe possibile creare un programma che richieda la chiusura durante il sonno (come con lo spegnimento) o che registri una macro che chiude il programma quando il computer si mette automaticamente in stato di stop o viene fatto dormire tramite il menu Apple?

    
posta Mikko Ohtamaa 06.02.2014 - 20:22
fonte

2 risposte

3

È difficile per me non mettere in discussione la validità della configurazione (sincronizzazione interrotta!), ma ... per fare qualcosa durante il sonno o la veglia, dovresti provare SleepWatcher di Bernhard Baehr (più contesto in Suggerimenti per Mac OS X ). Sta usando launchd per il monitoraggio.

[SleepWatcher] is a command line tool (daemon) […] that monitors sleep, wakeup […] of a Mac. It can be used to execute a Unix command when the Mac […] goes to sleep mode or wakes up, […]

Se hai un po 'di esperienza nel terminale, penso che puoi configurarlo. Assicurati di leggere la sezione "Installazione per i nuovi utenti SleepWatcher" ben nascosta in ReadMe.rtf

    
risposta data 06.02.2014 - 22:50
fonte
1

Installazione 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

Puoi anche testare SleepWatcher eseguendo /usr/local/sbin/sleepwatcher --verbose --sleep ~/.sleep --wakeup ~/.wakeup .

Puoi uscire dall'applicazione eseguendo osascript -e 'quit app "Application Name"' o solo killall Application\ Name .

    
risposta data 07.02.2014 - 18:36
fonte

Leggi altre domande sui tag