J'ai un script shell bash qui s'exécute lors de la connexion. Même si j'ai coché la case "masquer" dans les préférences système, iTerm reste affiché pendant son exécution.
Comment puis-je le cacher complètement?
Essayez d'exécuter le script avec launchd à la place. Enregistrer une liste de propriétés comme celle-ci sous ~/Library/LaunchAgents/some.label.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>some.label</string>
<key>Program</key>
<string>/path/to/script</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Le script doit être exécuté lors de votre prochaine connexion. Assurez-vous qu’il est exécutable ( chmod +x /path/to/script
) et commence par une ligne d'interprétation (comme #!/usr/bin/env bash
).
Vous pouvez également remplacer le Program
clé avec par exemple
<key>ProgramArguments</key>
<array>
<string>say</string>
<string>a</string>
</array>
ou
<key>ProgramArguments</key>
<array>
<string>bash</string>
<string>-c</string>
<string>say a;ls|say</string>
</array>
Voir man launchd.plist
ou http://osxnotes.net/launchd.html pour plus d'informations.
Travaillait très bien pour résoudre le cauchemar toujours découvrable du bluetooth Mavericks en utilisant le script suivant:
la source