Tengo un plist en el /Biblioteca/LaunchAgent carpeta (debe ejecutar como "usuario registrado", si entiendo correctamente, pero parece ser que se ejecuta como root). Lanza una .sh script de bash.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.uloginscript</string>
<key>Program</key>
<string>/Library/TestArea/netcall.sh</string>
</dict>
</plist>
La secuencia de comandos, para la solución de problemas, contiene las siguientes líneas:
#!/bin/bash
curUser=$(id -u -n)
osascript -e 'tell app "Finder" to display dialog "'$curUser'"'
O
#!/bin/bash
curUser=$(USER)
osascript -e 'tell app "Finder" to display dialog "'$curUser'"'
El resultado del cuadro de mensaje es siempre:
root
Esto significa que cualquier secuencia de comandos que estoy tratando de hacer tiene problemas. ¿Alguien puede arrojar alguna luz sobre por qué esto está ocurriendo. La secuencia de comandos se ejecuta en cada inicio de sesión, se ejecuta antes de que el usuario del escritorio aparece el mensaje aparece en la pantalla de inicio de sesión).
Curiosamente, si puedo usar el siguiente código:
#!/bin/bash
osascript -e 'tell app "Finder" to display dialog "'$1'"'
Devuelve el nombre de usuario correcto. Parece que el script se ejecuta como root, pero ha pasado el parámetro del usuario en el sistema (tenga en cuenta que el plist no tiene parámetros).
Ejecución De Los Mavericks 10.9.5