Questa può sembrare una domanda strana dato che molte persone vorrebbero sapere come avviare un programma all'avvio. Mi chiedevo se c'è un modo per far aprire un'applicazione a OSX quando si preme il pulsante di riavvio dal menu Apple.
Questa può sembrare una domanda strana dato che molte persone vorrebbero sapere come avviare un programma all'avvio. Mi chiedevo se c'è un modo per far aprire un'applicazione a OSX quando si preme il pulsante di riavvio dal menu Apple.
È fattibile con un proxy di riavvio, ovvero rinominerai /sbin/reboot
, ad es. sudo mv /sbin/reboot /sbin/reboot.ori
, quindi creare un symlink reboot
nello script bash di /sbin/reboot_proxy
che contiene i comandi che si devono eseguire prima del riavvio e infine esegue /sbin/reboot.ori
. In realtà ho questa configurazione sul mio Mac con OS X 10.8.5 e funziona bene. Sto intrappolando entrambi i comandi reboot
e shutdown
. Che cosa viene eseguito quando fai clic sul menu Apple > Riavvia ... e o Chiudi sessione ... comandi.
Questo è il codice nel mio script di shutdown_proxy
bash che ha un collegamento simbolico per entrambi i comandi reboot
e shutdown
dopo che l'originale è stato rinominato con un'estensione .ori
. Sentiti libero di adattarlo per il tuo uso.
Contenuto di 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" "$@"
Permettetemi di aggiungere che dal punto di vista della sicurezza ci sono quelli che sostengono che questa è una brutta cosa da fare e direi che in qualche modo è vero nelle giuste condizioni, visto che sono l'unico che abbia mai e toccherò mai il mio Mac e ho diversi livelli di sicurezza che vanno oltre i built-in, personalmente non ho problemi con questo metodo.
Da quando scegli il menu Apple > Il riavvio in modo efficace ti disconnette, probabilmente potresti fare qualcosa di simile è suggerito qui: Esegui script al logout senza utilizzare il gancio di disconnessione .
Eviterei di tentare di modificare o modificare qualsiasi file binario, script, ecc. e di attenermi a ciò che è disponibile in "userspace". Principalmente perché qualsiasi aggiornamento di sistema potrebbe sovrascrivere qualsiasi modifica apportata e se hai fatto qualcosa che, se "rotto" potrebbe impedire l'avvio o l'accesso ... Beh, questo può essere un grosso problema.
Nota: non ho ancora avuto la possibilità di metterlo alla prova, ma sembra che ci siano alcuni lead in là.
Leggi altre domande sui tag development macos restart