1 votos

Inicio de sesión oculto script

Tengo un shell bash script que se ejecuta al iniciar sesión. Aunque he seleccionado la casilla "ocultar" en las preferencias del sistema, iTerm sigue mostrándose mientras se ejecuta.

¿Cómo puedo ocultarlo completamente?

4voto

Intenta ejecutar el script con launchd en su lugar. Guarde una lista de propiedades como ésta como ~/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>

El script debe ejecutarse la próxima vez que se inicie la sesión. Asegúrese de que el script es ejecutable ( chmod +x /path/to/script ) y comienza con una línea de interpretación (como #!/usr/bin/env bash ).

También puede sustituir el Program con, por ejemplo

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

Ver man launchd.plist o http://osxnotes.net/launchd.html para más información.

1voto

fizzbuzz Puntos 1235

Funcionó de maravilla para resolver la pesadilla del bluetooth siempre detectable de Mavericks usando el siguiente 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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X