1 votes

Les éléments de connexion ne démarrent pas dans 11.2

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.

enter image description here

1voto

dallen Points 2393

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.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X