Script de inicialização do Mavericks

0

Estou tentando escrever um script pequeno para iniciar quando o usuário fizer logon. Eu pesquisei e consegui que o script funcionasse, mas não consegui executar o logon com .plist

Temos a configuração do diretório ativo. Quando o usuário faz login usando suas credenciais, o script funciona manualmente, uma vez executado

tell application "finder"
    set MyName to do shell script "whoami"
    mount volume "smb://server/folder/" & MyName
end tell

ou

set MyName to do shell script "whoami"
mount volume "smb://server/folder/" & MyName

e salvou como .scpt ambos funcionam manualmente

Ou eu preciso usá-lo dessa maneira

tell application "Terminal"
    set MyName to do shell script "whoami"
    mount volume "smb://server/folder/" & MyName
end tell

salve como .sh

Agora, o plist é salvo em /Library/LaunchAgents :

<plist version="1.0">

<dict>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>com.script</string>
    <key>ProgramArguments</key>
    <array>
       <string>/Users/Shared/SCRIPT.sh</string>
    </array>
</dict>

</plist>

e faça o seguinte comando

launchctl load /Library/LaunchAgents/com.script.plist

Não funciona. Não é possível obter a unidade para montar automaticamente durante o logon

Por favor ajude. Eu não sou um programador, então seja específico.

Obrigado Chris

    
por Chris 25.07.2014 / 21:43

1 resposta

0

Seu script é um applescript, não um shell script, então você não pode executá-lo diretamente. Acho que funcionaria ter o comando ossascript interpretando:

<array>
    <string>/usr/bin/osascript</string>
    <string>/Users/Shared/SCRIPT.sh</string>
</array>

(& por favor use uma extensão de arquivo mais apropriada que ".sh")

BTW, tenho certeza de que você deseja que KeepAlive esteja definido como <false/> - com ele definido como <true/> , seu script será executado novamente em vez de apenas uma vez.

    
por 27.07.2014 / 17:40