A Shell Script não executar automaticamente que ele é registrado no Mac OS X Login Items
Pergunta
Eu tenho o seguinte script shell registrado em meus "Login Items" preferências, mas não parece ter qualquer efeito. Destina-se a lançar o wiki moinmoin mas só funciona quando ele é executado por mão de uma janela do terminal, após o qual ele é executado até que a máquina é próxima para baixo fechada.
#!/bin/bash
cd /Users/stuartcw/Documents/Wiki/moin-1.7.2
/usr/bin/python wikiserver.py >> logs/`date +"%d%b%Y"`.log 2>&1 &
Eu realmente gosto do Wiki a estar disponível depois de reiniciar então qualquer ajuda na compreensão deste seria apreciada.
Solução
launchd é uma das melhores partes do MacOS X, e isso me causa grande dor para não ser capaz de encontrá-lo em outros sistemas.
Editar e colocar isso em /Library/LaunchDaemons
como com.you.wiki.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.you.wiki</string>
<key>LowPriorityIO</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>Nice</key>
<integer>1</integer>
<key>WorkingDirectory</key>
<string>/Users/stuartcw/Documents/Wiki/moin-1.7.2</string>
<key>UserName</key>
<string>user to run this as</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/python</string>
<string>wikiserver.py</string>
</array>
</dict>
</plist>
Outras dicas
Tente usar launchd. Mais informações em http://www.macgeekery.com/tips/all_about_launchd_items_and_how_to_make_one_yourself
Alguns links úteis:
Mac OS X: A criação de um gancho de login
Fazendo Scripts Shell Iniciar no Login ou sistema de inicialização
Veja também Lingon em um front end, você deve decidir usar launchd vez.
Eu não sei muito sobre isso, já que eu não use o login itens. Apenas uma sugestão, talvez tente com applescript que chama os comandos shell, e colocar isso em Login Items.