Guión de inicio de Mavericks

Guión de inicio de Mavericks

Estoy intentando escribir un pequeño script para ejecutarlo cuando el usuario inicia sesión. Busqué y conseguí que el script funcionara, pero no pude ejecutarlo al iniciar sesión con .plist

Tenemos configuración de directorio activo. Cuando el usuario inicia sesión con sus credenciales, el script funciona manualmente una vez ejecutado.

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

o

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

y lo guardé como .scpt, ambos funcionan manualmente

O necesito usarlo de esta manera

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

guárdalo como .sh

Ahora el plist se guarda en /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>

y haz el siguiente comando

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

No funciona. No puedo hacer que la unidad se monte automáticamente durante el inicio de sesión

Por favor ayuda. No soy programador, así que sea específico.

Gracias, cris

Respuesta1

Su script es un AppleScript, no un script de Shell, por lo que no puede ejecutarlo directamente. Creo que funcionaría que el ossascriptcomando lo interprete:

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

(& utilice una extensión de archivo más apropiada que ".sh")

Por cierto, estoy bastante seguro de que desea KeepAliveconfigurarlo en <false/>: con él configurado en <true/>, su secuencia de comandos se volverá a ejecutar continuamente en lugar de solo una vez.

información relacionada