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