Je viens d'installer une 11.2 propre et les éléments d'ouverture de session sont très aléatoires dans la fenêtre Éléments de connexion. Telegram iTerm et Flux ne démarrent pas. Mais Notion oui et 1password, karabiner et autres non listés dans Login Items. J'ai enlevé et remis les éléments, mais aucun changement.
Réponse
Trop de publicités?J'ai renoncé à essayer de le réparer en utilisant l'interface utilisateur. A la place, j'ai créé un agent de lancement sur ~/Library/LaunchAgents/
. Cela peut être fait en écrivant un .plist
avec ce contenu :
<?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>
Comme vous pouvez le voir, il exécute un script en .local/etc/scripts
. A son tour, ce dernier exécute tout ce qu'il trouve dans .local/etc/scripts/login/
(vous pouvez choisir un autre répertoire pour cela, par ex, Library/scripts
):
#!/usr/local/bin/bash
# This is my-login.sh
cd `dirname "$0"`/login
for script in *.sh
do
. "./$script"
done
Enfin, login/*.sh
contiennent généralement des commandes très simples, par exemple :
# google-drive-client.sh
open "/Applications/Backup and Sync.app"
(et bien sûr, c'est le même mécanisme que beaucoup de distributions *NIX utilisent pour /etc/profile.d
o /etc/cron.d
).
Tout peut être activé en courant :
launchctl load ~/Library/LaunchAgents/my-login.plist
(ou, si vous vous déconnectez et vous reconnectez, cela devrait aussi fonctionner).
El .plist
RunAtLoad
exécute le script au chargement, et une seule fois. De plus, AbandonProcessGroup
garantit que les applications lancées en arrière-plan (par exemple, à l'aide de open
) ne sont pas tués lorsque le script principal se termine.
Ce n'est pas pour les non-experts, désolé, je n'ai pas pu résoudre le problème au niveau de l'interface utilisateur et je pense que la qualité de MacOS se dégrade.