Há um diretório no Sistema / Biblioteca para itens de inicialização que eu presumo: StartupItems
Preciso ter um script de shell que configure a interface Ethernet na inicialização, com endereço de rede local e máscara de sub-rede. Preciso fazer isso porque as preferências de rede para configurar a interface Ethernet NÃO a definirão usando configurações manuais. Isso parece ser um bug sério ou a minha instalação está ruim.
Recebi o conselho de usar a configuração de rede na linha de comando, mas isso não configurará a interface Ethernet de tal maneira que as configurações estejam lá na reinicialização.
O script precisa fazer seu trabalho com privilégios de root ou com o sudo, mas estou assumindo que, se ele usar o sudo, haverá uma caixa de diálogo de senha apresentada no momento da inicialização quando o processo de inicialização chegar ao script.
(Eu tive experiência suficiente com FreeBsd e Linux para encontrar o caminho no terminal, mas não necessariamente como se aplica ao Mac OSX)
<key>Program</key>
com o valor<string>/bin/sh</string>
e, em seguida,<key>ProgramArguments</key>
deve apenas ter o valor<string>/path/to/script</string>
<key>ProgramArguments</key>
precisa ser uma matriz ..Há algum tempo, usei o cron para fazer exatamente isso. Você pode fazer uma entrada como esta
Mais informações aqui
fonte
cron
não é o caminho certo para fazer isso no OS X atualmente. Use LaunchAgent ou LaunchDeamon (launchd). Para obter mais informações: developer.apple.com/library/mac/documentation/MacOSX/Conceptual/…Although it is still supported, cron is not a recommended solution. It has been deprecated in favor of launchd.
cron
é muito mais fácil de configurar do quelaunchd
, no entanto. Basta comparar as duas respostas nesta discussão para ver o que quero dizer.cron
usa uma única linha em um único arquivo, ondelaunchd
precisa de um script para descrever o script que você deseja executar na inicialização.Dê uma olhada no script de gancho de login.
https://wiki.afp548.com/index.php/Login/Logout_Hooks_in_OS_X
fonte