Estou tentando escrever um pequeno script para iniciar quando o usuário fizer logon. Eu pesquisei e consegui que o script funcionasse, mas não consegui executar no logon com .plist
Temos configuração de diretório ativo. Quando o usuário faz login usando suas credenciais, o script funciona manualmente depois de 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 salvei como .scpt funciona 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-o como .sh
Agora o plist está 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 montar a unidade automaticamente durante o logon
Por favor ajude. Eu não sou um programador, então seja específico.
Obrigado, Chris
Responder1
Seu script é um applescript, não um script de shell, portanto você não pode executá-lo diretamente. Acho que funcionaria se o ossascript
comando o interpretasse:
<array>
<string>/usr/bin/osascript</string>
<string>/Users/Shared/SCRIPT.sh</string>
</array>
(e use uma extensão de arquivo mais apropriada do que ".sh")
Aliás, tenho certeza que você deseja KeepAlive
definir como <false/>
- com ele definido como <true/>
, seu script será executado novamente continuamente, em vez de apenas uma vez.