Jak sprawić, by skrypt lub aplikacja działała automatycznie lub przestała działać automatycznie po uruchomieniu systemu, użytkownik loguje się w określonym czasie, gdy dysk jest podłączony itp.?
macos
boot
startup
login-items
prosseek
źródło
źródło
Odpowiedzi:
Metoda GUI
Jeśli chcesz, aby coś działało po zalogowaniu użytkownika, najłatwiejszym sposobem jest skorzystanie z GUI. Możesz
System Prefs > Accounts > Login Items
ekranu i dodaj element przez+
symbol.app
na panelOptions
, a następnie wybierzOpen at Login
Uruchomiona metoda
Jeśli chcesz uruchomić coś, co nie jest
.app
, lub chcesz mieć większą kontrolę nad uruchomieniem, na przykład:wtedy chcesz skorzystać z rozwiązania technicznego, które jest
launchd
.Najłatwiejszym sposobem skonfigurowania
launchd
pliku konfiguracyjnego jest skorzystanie z narzędzia, które pomoże. W chwili pisania najbardziej popularną metodą jest Lingon (która ma starszą bezpłatną wersję dostępną w SourceForge) lub narzędzie strony PList .Kodowanie ręczne
Jeśli nie chcesz korzystać z Lingon ani strony PList i chcesz korzystać tylko z surowych narzędzi dostępnych w systemie, możesz pisać własne
launchd
plist
ręcznieOto mój uruchomiony skrypt do ciągłego uruchamiania SomeApp po uruchomieniu systemu (niezależnie od zalogowania się użytkownika). Jest w / System / Library / LaunchAgents / i nazywa się SomeApp.restart.plist. Jeśli jest uruchamiany w oparciu o login użytkownika, może być przechowywany w ~ / Library / LaunchAgents /
Załaduj go raz
RunAtLoad
Opcja uruchomi aplikację pierwszy raz launchctl prowadzi to.KeepAlive
Opcja spowoduje ponowne uruchomienie aplikacji, jeśli się zawiesi.StartCalendarInterval
Będzie go uruchomić w określonym czasie. Przypuszczalnie jest to wzajemnie wykluczające się z poprzednimi dwoma, ale zostało uwzględnione, aby pokazać, co można zrobićlaunchd
Istnieje wiele dodatkowych opcji, które można znaleźć poprzez eksperymentowanie z Lingon lub poprzez czytanie stron man na
launchctl
,launchd.plist
,plist
,launchd.conf
, itd.źródło
launchctl load -w ...
aby zmiana była trwała. W oparciu o Wasze opinie zaktualizowałem skrypt konfiguratora OSX poweruserLingon nadal działa. Właśnie wykorzystałem go w zeszłym tygodniu do stworzenia „zaplanowanego zadania”. Po pobraniu musiałem użyć jego automatycznej aktualizacji, aby uzyskać najnowszą wersję, ale działa dobrze.
źródło
Jeśli konieczne jest uruchomienie tylko podczas uruchamiania systemu, wystarczy użyć karty Elementy logowania w panelu preferencji Konta w Preferencjach systemowych.
Jeśli jest to skrypt, użyj edytora AppleScript, aby zapisać go jako aplikację. Jeśli nie jest to skrypt AppleScript, nadal możesz użyć AppleScript do uruchomienia skryptu w następujący sposób:
do shell script "your script here"
źródło
Nie zapomnij Loginhooks.
Chociaż działają jako root, powinieneś mieć możliwość wykonania skryptu $ HOME / .loginhook przy użyciu czegoś takiego:
Następnie po prostu dodaj dowolne polecenia do ~ / .loginhook
Ponadto, chociaż „launch” to „Mac”, crontab jest nadal całkowicie wykonalną opcją i jest znacznie łatwiejszy do ręcznej edycji niż pliki XML uruchamiane.
Osobiście z radością zapłaciłem 5 USD za Lingon .
źródło
/path/to/script
, isudo defaults write com.apple.loginwindow LoginHook /path/to/script
? A czy celem skryptu w katalogu domowym jest to, że każdy użytkownik może mieć niestandardowy (lub nie)~/.loginhook
?Uruchomienie aplikacji w określonym czasie można łatwo zrobić w iCal, co właśnie odkryłem dzięki innemu forum!
Należy pamiętać, że jeśli masz wiele komputerów Mac współużytkujących rzeczy przez iCloud, to wydarzenie będzie również działać na tych aplikacjach, których możesz chcieć lub nie. Aby tak się stało tylko na jednym komputerze Mac, musisz utworzyć wydarzenie w kalendarzu „Na moim Macu”, który możesz wykonać w następujący sposób ...
Dopiero co się o tym dowiedziałem i mile zaskoczyły mnie obie wskazówki, więc pomyślałem, że podzielę się nimi tutaj.
Mam informacje od tych pomocnych ludzi tutaj ... więc dziękuję wam ludzie! ...
http://osxdaily.com/2013/04/15/launch-file-app-scheduled-date-mac-os-x/
źródło