छिपी हुई लॉगिन स्क्रिप्ट


1

मेरे पास एक बैश शेल स्क्रिप्ट है जो लॉगिन पर चलती है। भले ही मैंने सिस्टम प्राथमिकताओं में "छिपाने" चेकबॉक्स का चयन किया था, फिर भी इसे चलाते समय iTerm दिखाता है।

मैं इसे पूरी तरह से कैसे छिपाऊँ?

जवाबों:


4

इसके बजाय लॉन्च के साथ स्क्रिप्ट चलाने की कोशिश करें। इस तरह से एक संपत्ति सूची सहेजें ~/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>

जब आप लॉग इन करते हैं तो स्क्रिप्ट को अगली बार चलाया जाना चाहिए। सुनिश्चित करें कि स्क्रिप्ट निष्पादन योग्य है ( chmod +x /path/to/script) और इंटरप्रेटर लाइन (जैसे #!/usr/bin/env bash) से शुरू होती है ।

आप Programउदाहरण के लिए कुंजी को बदल भी सकते हैं

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

या

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

अधिक जानकारी के लिए देखें man launchd.plistया http://osxnotes.net/launchd.html


लेबल की चीज क्या है?
cfischer

1

निम्नलिखित स्क्रिप्ट का उपयोग करके हमेशा खोज योग्य दुःस्वप्न के लिए Mavericks ब्लूटूथ को हल करने के लिए महान काम किया गया:

#!/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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.