FWIW, rozumiem twoją sytuację i sam szukałem tego rozwiązania. Natknąłem się na ten wątek, ponieważ szukałem nieco szybszej metody niż to, co ostatecznie wymyśliłem. Wymyśliłem coś, co, choć nie do końca to, na co liczyłem, działa i jest akceptowalnym kompromisem. Używam tego samego rodzaju skryptów GUI, co pokazuje @markhunte (nieco inna struktura, ale ten sam pomysł), ale zamiast po prostu umieścić to wszystko w przepływie pracy usługi Automator, podzieliłem go na pakiet .app zbudowany z Platypus. Zrobiłem to, ponieważ podczas moich podróży i testów zauważyłem, że usługi Automatora działają bardzo wolno pod pewnymi warunkami. Jeśli komputer Mac znajduje się pod jakimkolwiek stresem, np. Podczas skanowania dysku, oprogramowania A / V robi coś, Mail ściąga wiadomości e-mail itp., wydaje się, że system operacyjny przesuwa usługi na koniec linii. Ma to wpływ na to, że zajmuje kilka sekund, zanim przepływ pracy zostanie uruchomiony (czasami), a czasami nawet kilka sekund przed uruchomieniem poleceń GUI w usłudze. Dość denerwujące, jeśli próbujesz „szybko” zablokować ekran i zajmuje to 10 sekund!
Posiadanie samodzielnej „aplikacji” ma również tę zaletę, że możesz uruchomić dosłownie dziesiątki różnych aplikacji innych firm lub po prostu użyć Spotlight lub usługi Automator do uruchomienia aplikacji. Każda z nich działa. Najszybsze, jakie znalazłem, to stare narzędzie o nazwie Spark, które w cudowny sposób działa nawet w wersji 10.8.4. Nie pytaj mnie, jak to się stało, odkąd był ostatnim wrogiem 10.4! Spark można znaleźć tutaj - Spark
Oprócz tego wszystkiego zwróciłem uwagę na to, że polecenia GUI czasami działają wolno, łącząc się w cocoaDialog i wywołując go jako pierwszy, gdy aplikacja uruchamia się, aby pokazać małą pływającą bańkę na środku ekranu, co wskazuje na blokadę ekranu. Zazwyczaj blokada następuje zaraz po, ale jeśli wystąpi opóźnienie, to przynajmniej daje wizualne „sprzężenie zwrotne”, że nacisnąłeś odpowiednie klawisze. Uaktywniłem też funkcję samoleczenia - jeśli opcja „Włącz dostęp do urządzeń pomocniczych” nie jest włączona, wyświetla ostrzeżenie w oknie dialogowym i umożliwia jej natychmiastowe włączenie. Sprawi to również, że menu dostępu do pęku kluczy jest wyświetlane na pasku menu, ponieważ jest to wymagane lub w przeciwnym razie skryptowe GUI kończy się niepowodzeniem.