Acabo de instalar una 11.2 limpia y los elementos de apertura en el inicio de sesión son muy aleatorios en Login Items Windows. Telegram iTerm y Flux no se inician. Pero Notion sí y 1password, karabiner y otros no aparecen en Login Items. He quitado y vuelto a poner los elementos, pero ningún cambio.
Respuesta
¿Demasiados anuncios?He renunciado a intentar arreglarlo con la interfaz de usuario. En su lugar, he creado un agente de lanzamiento en ~/Library/LaunchAgents/
. Esto puede hacerse escribiendo un .plist
con este contenido:
<?xml version="1.0" encoding="UTF-8"?>
<!-- This is ~/Library/LaunchAgents/my-login.plist -->
<!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>my-login.agent</string>
<key>LimitLoadToSessionType</key>
<string>Aqua</string>
<key>ProgramArguments</key>
<array>
<string>/Users/$myuser/.local/etc/scripts/my-login.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>AbandonProcessGroup</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/my-login.err</string>
<key>StandardOutPath</key>
<string>/tmp/my-login.out</string>
</dict>
</plist>
Como puedes ver, ejecuta un script en .local/etc/scripts
. A su vez, esto sólo ejecuta todo lo que encuentra en .local/etc/scripts/login/
(puedes elegir otro dir para esto, ej, Library/scripts
):
#!/usr/local/bin/bash
# This is my-login.sh
cd `dirname "$0"`/login
for script in *.sh
do
. "./$script"
done
Finalmente, login/*.sh
suelen contener comandos muy sencillos, por ejemplo
# google-drive-client.sh
open "/Applications/Backup and Sync.app"
(y por supuesto, este es el mismo mecanismo que muchas distro *NIX utilizan para /etc/profile.d
o /etc/cron.d
).
Todo se puede habilitar ejecutando:
launchctl load ~/Library/LaunchAgents/my-login.plist
(o, cerrar la sesión y volver a iniciarla también debería hacerlo).
El .plist
RunAtLoad
ejecuta el script al cargar, y sólo una vez. Además, AbandonProcessGroup
garantiza que las aplicaciones lanzadas en segundo plano (por ejemplo, utilizando open
) no se eliminan cuando el script termina.
Esto no es para los no expertos, lo siento, no pude solucionar el problema a nivel de UI y creo que la calidad de MacOS es cada vez peor.
0 votos
¿Has confirmado que puedes iniciar estas aplicaciones manualmente?
0 votos
Sí puedo lanzar estas aplicaciones con éxito
0 votos
@The33Coder, tengo el mismo problema, ¿has encontrado una solución?
0 votos
No encuentro ninguna solución en este momento
0 votos
@The33Coder, gracias, he encontrado la solución a continuación.