Wszyscy wiemy, że Mac OS X ma bardzo przydatną funkcję elementów logowania, która pozwala między innymi skonfigurować aplikacje / skrypty do uruchamiania po zalogowaniu.
Szukam sposobu na skonfigurowanie listy skryptów / aplikacji uruchamianych po wylogowaniu . Lista „Wyloguj się”, jeśli chcesz.
Zasadniczo chcę napisać dla siebie kilka małych skryptów czyszczących, które będą uruchamiane automatycznie po wylogowaniu lub zamknięciu.
Tak więc szukam sposobu na automatyczne uruchomienie skryptu (lub, najlepiej, ich listy) po wylogowaniu. Wylogowanie czekałoby na zakończenie skryptów (tak jak wylogowanie czeka, aż klikniesz Zapisz, jeśli aplikacja tego zażąda).
Czy istnieje sposób automatycznego wyzwalania (a) skryptów po wylogowaniu z Mac OS X?
macos
script
login
login-items
user-account
Nathan Greenstein
źródło
źródło
Odpowiedzi:
Haki do wylogowywania były przestarzałe w wersji 10.4 , ale nadal działają od wersji 10.9.
Wartość klucza LogoutHook może być tylko ścieżką do pliku wykonywalnego, a nie polecenia powłoki. Hak wylogowania jest uruchamiany jako root.
Polecenie defaults modyfikuje /var/root/Library/Preferences/com.apple.loginwindow.plist. Dodawanie klucza LogoutHook do /Library/Preferences/com.apple.loginwindow.plist nie działa.
Jeśli hak wylogowania trwa wystarczająco długo, wyświetlany jest szary ekran, aż hak wylogowania się zakończy. Wydaje się, że nie ma limitu czasu, po którym haki wylogowania zostaną zmuszone do zakończenia.
Nie wymyśliłem żadnego sposobu na niezawodne uruchamianie programów przy wylogowaniu z uruchomionym. Kiedy próbowałem przechwytywać sygnały takie jak EXIT, kod w pułapce był uruchamiany tylko wtedy, gdy wylogowałem się do okna logowania, a nie po wyłączeniu lub ponownym uruchomieniu.
źródło
sh
(tworzy ten plik .txt). Zapisałem skrypt jako /etc/rc.shutdown.local i dodałem godefaults
tak, jak powiedziałeś. Żaden plik już tam nie był. czy robię coś źle? Dzięki!W rzeczywistości istnieje sposób:
Aby ukryć go przed Dockiem:
źródło
Script Timer to dobry wybór do tego. Może działać przy wylogowaniu, logowaniu i wielu innych. Wybrałbym to na proste i łatwe w użyciu rozwiązanie. Ma prosty GUI:
Należy zwrócić uwagę na dwie rzeczy dotyczące Script Timer. Po pierwsze, nie jest za darmo. Kosztuje 12 USD, ale osobiście uważam, że warto. Po drugie, nie jest w pełni kompatybilny z Lion, ale obiecali bezpłatną aktualizację, gdy tylko ją dostosują.
źródło
Możesz również utworzyć aplikację Mac na podstawie skryptu, używając czegoś takiego jak dziobak, a następnie dodać ją do elementów logowania, jak każda inna aplikacja.
źródło
Power Manager może uruchomić skrypt po wylogowaniu użytkownika. Jest to produkt komercyjny i obsługuje najnowszy system macOS.
Wcześniejsze wersje wymagały korzystania z edytora zdarzeń , ale teraz włączono zadanie Asystenta harmonogramu do uruchamiania skryptów podczas logowania i wylogowywania.
Napisałem Power Managera, więc możesz zadawać pytania techniczne dotyczące jego wdrożenia. W przypadku wyzwolonych zdarzeń wylogowania, Power Manager nie odpytuje o zmiany w stanie użytkownika, lecz jest powiadamiany o zmianach użytkownika przez macOS. To podejście jest bardziej wydajne niż zapętlanie / odpytywanie skryptu.
źródło