Uruchom program / skrypt, gdy ekran jest zablokowany lub odblokowany


13

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?


2
W przypadku ekranu blokady wysyłane jest powiadomienie, które można obsługiwać w aplikacji Cocoa. Musisz wysłuchać powiadomienia o nazwie: „com.apple.screenIsLocked”. Kod:[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"com.apple.screenIsLocked" object:nil];
Mateusz Szlosek

Czy istnieje sposób, aby to sprawdzić za pomocą AppleScript?
nwinkler,

Przepraszam, nie znam sposobu na wykonanie tego przez Apple Script. Ale stworzenie własnej aplikacji do tego zadania nie jest takie trudne. Daj mi znać, jeśli mogę pomóc.
Mateusz Szlosek

Jako dodatkowe powiadomienie wysyłane, gdy ekran jest odblokowany, nazywa się: „com.apple.screenIsUnlocked”
Mateusz Szlosek

Odpowiedzi:


14

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


2
Ten program może zostać zainstalowany przy pomocy brew install sleepwatcherdodatkowych informacji na temat konfiguracji w plikach plist. Dokładna lokalizacja brew info sleepwatcher. Domyślne pliki to ~/.sleepi~/.wakeup
AB

2

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: Skrypty zdarzeń

Sprawdź to tutaj .


1
To wygląda całkiem przydatne, dzięki! W App Store kosztuje 3,99 USD.
nwinkler,

Mam teraz problemy z cichym zawieszaniem się EventScript, więc
miej

-1

Możesz to skonfigurować w następujący sposób:

sudo defaults write com.apple.loginwindow LoginHook /path/to/script

Nazwa sugeruje, że działa to po zalogowaniu, a nie po odblokowaniu ekranu. Czy to jest poprawne?
tripleee

stackoverflow.com/questions/22842016/... sugeruje, że i LoginHooktak jest przestarzałe. Możesz użyć launchddo uruchomienia rzeczy przy logowaniu, ale nie o to pyta to pytanie.
tripleee
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.