1 votes

Connexion cachée script

J'ai un shell bash script qui s'exécute à la connexion. Même si j'ai coché la case "cacher" dans les préférences système, iTerm s'affiche toujours pendant son exécution.

Comment puis-je le cacher complètement ?

4voto

Essayez d'exécuter le script avec launchd à la place. Sauvegardez une liste de propriétés comme celle-ci en tant que ~/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 la prochaine connexion. Assurez-vous que le script est exécutable ( chmod +x /path/to/script ) et commence par une ligne de l'interpréteur (comme #!/usr/bin/env bash ).

Vous pouvez également remplacer le Program avec par exemple

<key>ProgramArguments</key>
<array>
  <string>say</string>
  <string>a</string>
</array>

o

<key>ProgramArguments</key>
<array>
  <string>bash</string>
  <string>-c</string>
  <string>say a;ls|say</string>
</array>

Voir man launchd.plist o http://osxnotes.net/launchd.html pour plus d'informations.

1voto

fizzbuzz Points 1235

Cela a bien fonctionné pour résoudre le cauchemar Mavericks bluetooth always discoverable en utilisant le script suivant :

#!/bin/sh

defaults -currentHost write com.apple.Bluetooth DiscoverableState -bool no

launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist 2> /dev/null

launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist

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