Czy uruchomisz aplikację OS X podczas ponownego uruchamiania?


1

Może się to wydawać dziwnym pytaniem, ponieważ większość ludzi chciałaby wiedzieć, jak uruchomić program podczas uruchamiania. Zastanawiałem się, czy istnieje sposób na uruchomienie aplikacji OSX po naciśnięciu przycisku restartu z menu Apple.


Aby upewnić się, o co pytasz, co to za program do uruchomienia, gdy menu Apple & gt; Restart ... zostaje kliknięty i program uruchamia się i kończy swoje zadanie przed rzeczywistym procesem ponownego uruchomienia. Czy to jest poprawne? A kiedy a shutdown -r now komenda, która jest restartem, jest wydawana w Terminalu lub z aplikacji?
— user3439894

To nie ma znaczenia, potrzebuję tylko tego programu do uruchomienia w menu Apple & gt; Uruchom ponownie po kliknięciu.
— CyrodiilSavior

Jak już wspomniałem, moja metoda działa dla mnie z GUI i CLI w OS X 10.8.5. Jakiej wersji OS X używasz, aby móc testować w tej wersji?
— user3439894

Używam Yosemite, myślałem, że może to był problem z wersją, ale nie byłem pewien.
— CyrodiilSavior

Dobrze, przetestuję z Yosemite nieco później, muszę najpierw pociąć trawę.
— user3439894

Odpowiedzi:


0

Jest to możliwe dzięki serwerowi proxy ponownego uruchomienia, tzn. Zmieniłeś nazwę /sbin/reboot, np. sudo mv /sbin/reboot /sbin/reboot.ori, a następnie utwórz reboot dowiązanie symboliczne do /sbin/reboot_proxy skrypt bash, który ma polecenia, które należy wykonać przed ponownym uruchomieniem, a następnie wykonuje się /sbin/reboot.ori. W rzeczywistości mam tę konfigurację na moim Macu z systemem OS X 10.8.5 i działa dobrze. Łapię oba reboot i shutdown polecenia. Które są uruchamiane po kliknięciu jabłko menu & gt; Restart... i lub Zamknąć... polecenia.

  • Uwaga: Najlepiej mieć drugi skrypt bashowy do przełączania stanu oryginalnego pliku i skryptu bash proxy, ponieważ musi on zostać cofnięty przed wykonaniem aktualizacji systemu OS X, które dotkną plików.

To jest kod w moim shutdown_proxy skrypt bash, który ma dowiązanie symboliczne dla obu reboot i shutdown komendy po zmianie nazwy oryginału na .ori rozbudowa. Dostosuj go do swoich potrzeb.

Zawartość reboot_proxy

#!/bin/bash

_name="$0";
echo "Reboot Proxy Executing..."

# Place command(s) to execute before reboot directly below this comment:


_command="$_name.ori"
echo "Executing $_command $@..."

"$_command" "$@"

Dodam, że z punktu widzenia bezpieczeństwa są tacy, którzy twierdzą, że jest to zła rzecz do zrobienia i powiedziałbym do pewnego stopnia, że ​​to prawda w odpowiednich warunkach, ponieważ jestem jedynym, który kiedykolwiek i kiedykolwiek dotknie mój Mac i ja mamy kilka warstw zabezpieczeń wykraczających poza wbudowane, osobiście nie mam problemu z użyciem takiej metody.


Dzięki temu czuję, że będzie działać, ale z jakiegoś powodu, nawet po zastąpieniu starego pliku binarnego ponownego uruchomienia nowym skryptem bash wykonującym to, czego potrzebuję, nadal uruchamia się ponownie jak zwykle. Czy mogę zrobić coś złego?
— CyrodiilSavior

Właściwie, gdy uruchamiasz z terminala, działa komenda reboot, wydaje się, że OSX używa innego polecenia podczas używania GUI
— CyrodiilSavior

@ CyrodiilSavior, Sposób, w jaki mam ustawienia min, czy klikam menu Apple & gt; Uruchom ponownie ... i lub Zamknij polecenia ... lub uruchom reboot i lub shutdown w Terminalu, co znajduje się w moim „# Poleceniach do wykonania przed ponownym uruchomieniem” sekcja kończy się przed rzeczywistym restartem / zamknięciem.
— user3439894

0

Od momentu wybrania menu Apple & gt; Reboot skutecznie Cię wylogowuje, prawdopodobnie możesz zrobić coś takiego jak tutaj: Uruchom skrypt przy wylogowaniu bez użycia haka wylogowania .

Unikałbym próby edytowania lub modyfikowania jakichkolwiek binariów systemowych, skryptów itp. I trzymania się tego, co jest dostępne w „przestrzeni użytkownika”. Głównie dlatego, że jakakolwiek aktualizacja systemu mogłaby zastąpić wszelkie wprowadzone zmiany, a jeśli zrobiłeś coś, co „zepsute” mogłoby uniemożliwić uruchomienie lub zalogowanie się ... To może być poważny problem.

Uwaga: Nie miałem jeszcze szansy, aby poddać to testowi, ale wygląda na to, że może tam być kilka leadów.


To dobra sugestia, będę o tym pamiętać, zamierzam nadal pracować z @ user3439894 i jego metodą na teraz, ponieważ muszę to zrobić również na systemach linuxowych.
— CyrodiilSavior
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.