Czy istnieje sposób na uruchomienie określonego skryptu lub programu, gdy ekran jest zablokowany lub odblokowany? Najlepiej funkcja bash lub AppleScript.
Czy istnieje wydarzenie, które mógłbym zasubskrybować, co pozwoliłoby mi to zrobić? Lub istniejąca aplikacja, która to obsługuje?
macos
applescript
authentication
nwinkler
źródło
źródło
[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"com.apple.screenIsLocked" object:nil];
Odpowiedzi:
Po kilku poszukiwaniach znalazłem SleepWatcher , bezpłatne narzędzie, które pozwala uruchomić skrypt, gdy ekran przechodzi w tryb uśpienia lub budzi się.
Po jego zainstalowaniu możesz połączyć skrypt powłoki uruchamiany w jednym z dostępnych zdarzeń (takich jak przyciemniony ekran , ekran budzenia , uśpienie komputera , budzenie komputera i kilka innych). Ze skryptu powłoki mogę uruchomić polecenie lub wywołać kod AppleScript, który chcę uruchomić w przypadku tych zdarzeń.
Ponieważ mój ekran przechodzi w tryb uśpienia po zablokowaniu komputera, właśnie tego szukałem.
Możesz zobaczyć to w akcji tutaj: https://github.com/nwinkler/sleepwatcher-lync-status
źródło
brew install sleepwatcher
dodatkowych informacji na temat konfiguracji w plikach plist. Dokładna lokalizacjabrew info sleepwatcher
. Domyślne pliki to~/.sleep
i~/.wakeup
EventScript ma kilka opcji, które mogą Ci pomóc. Jest to ładne, małe narzędzie, które może uruchamiać przepływy pracy .sh / applescript / automator i uruchamiać je na wielu różnych opcjach.
Oto niektóre opcje blokowania / odblokowywania ekranu:
Sprawdź to tutaj .
źródło
Możesz to skonfigurować w następujący sposób:
źródło
LoginHook
tak jest przestarzałe. Możesz użyćlaunchd
do uruchomienia rzeczy przy logowaniu, ale nie o to pyta to pytanie.