Script di accesso nascosto

1

Ho uno script di shell bash che viene eseguito al login. Anche se ho selezionato la casella di controllo "nascondi" nelle preferenze di sistema, iTerm continua a essere visualizzato durante l'esecuzione.

Come posso nasconderlo completamente?

    
posta cfischer 21.11.2013 - 23:38
fonte

2 risposte

4

Prova invece a eseguire lo script con launchd. Salva un elenco di proprietà come ~/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>

Lo script dovrebbe essere eseguito al prossimo accesso. Assicurati che lo script sia eseguibile ( chmod +x /path/to/script ) e inizi con una riga di interprete (come #!/usr/bin/env bash ).

Puoi anche sostituire la chiave Program con, per esempio

<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>

Vedi man launchd.plist o link per ulteriori informazioni.

    
risposta data 22.11.2013 - 12:01
fonte
1

Ha funzionato benissimo per risolvere il bluetooth Mavericks sempre da scoprire usando il seguente script:

#!/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
    
risposta data 27.03.2014 - 15:46
fonte

Leggi altre domande sui tag