¿Cómo controlar la radio inalámbrica Bluetooth desde la línea de comando?

22

Esta pregunta es casi la misma que mi pregunta anterior , pero con una gran diferencia; Quiero activar / desactivar Bluetooth desde la línea de comandos (bash o similar), NO desde AppleScript; las respuestas a esto que vi en el superusuario utilizaron AppleScript.

Me imagino que networksetuppodría ser útil, pero no tienen idea de qué interfaz (s) para interactuar con - Me gustaría una respuesta que incluye un comando completo que se puede ejecutar (y entender) - si los asuntos de referencia, las que de Snow Leopard en MacBook2,1que MacBook7,1, con la excepción MacBook5,1, y si solo puedes hacerlo por 6,1 y 7,1, está bien.

Andrew Wonnacott
fuente
1
Puede ejecutar AppleScript desde la línea de comandos usando osascript -e "<applescript goes here>"si el único problema que tiene es usar ventanas emergentes.
Mathew Hall
No me gusta AppleScript como lenguaje; tiende a ser detallado.
Andrew Wonnacott
Además, los dispositivos de asistencia no están habilitados y no puedo administrar en esta computadora.
Andrew Wonnacott

Respuestas:

40

Blueutil es una pequeña herramienta de línea de comandos para hacer esto. Es gratis y viene con el código fuente. Si tieneinstalado homebrew , puede instalarlo a través debrew install blueutil.

Uso:

Imprimir estado de bluetooth
blueutil

Encienda bluetooth
blueutil --power 1 oblueutil -p 1

Apague el bluetooth
blueutil --power 0 oblueutil -p 0

Funciona bien en una Macbook Pro con Lion (10.7.3) y una Mac mini con Snow Leopard (10.6.8). Obtendrá algunos errores si apaga el bluetooth mientras está conectado un mouse mágico, aunque todavía funciona :)

binarybob
fuente
Gracias. Aceptaré esto pronto, pero no me gusta aceptar dentro de las 6 horas posteriores a la publicación (si puede hacer esto sin descargar nada, solo usando OS X incorporado, eso también sería muy bueno, así que espero ver si alguien sugiere que).
Andrew Wonnacott
3
@ Andrew La otra forma de hacerlo sin descargar nada es matar (y reiniciar) el proceso de bluetooth daemon (blued) de la siguiente manera. Sin embargo, recomendaría no utilizar este método, ya que causa estragos en el panel de preferencias de bluetooth y el icono de estado de bluetooth en la barra de menú, ya que ahora ya no podrán actualizarse. Para detener el daemon del bluetooth: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist. Para reiniciar el bluetooth daemon:sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
binarybob
1
No le di un privilegio de administrador. Acabo de copiar el binario.
Andrew Wonnacott
1
Sí, acabo de copiar el binario a / usr / local / bin. ¿Pero dónde está ese código cuestionable? Echó un vistazo a la fuente incluida y parecía legítima, aunque no la construyó.
Erika
55
Esta fue una gran respuesta y, por cierto, puedes brew install blueutilinstalarlo fácilmente. Parecen haber cambiado las banderas de la línea de comando, utilícelas blueutil power 1para activar el bluetooth.
Ivan
11

Lo siguiente funcionó para mí (OSX 10.7.5) para activar Bluetooth desde la línea de comandos (usando los comandos que se encuentran aquí ):

sudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1

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

(Me encontré con el problema de que desactivé bluetooth y luego, en el siguiente inicio del sistema, ya no podía usar el teclado inalámbrico ... así que no podía iniciar sesión desde la pantalla pero podía iniciar sesión a través de ssh. Y no estaba claro para mí cómo instalar software como blueutildesde la línea de comandos como lo sugiere @binarybob)

Andre Holzner
fuente
No puedo sudo en esta computadora, según uno de mis otros comentarios, pero aún así es bueno saberlo. Descomprimí blueutil gráficamente y luego ejecuté el ejecutable desde la línea de comandos, así que ya tenía que haberlo configurado.
Andrew Wonnacott
Como binarybob dijo anteriormente en su comentario , esto puede confundir a la GUI
Greenonline
0

Esta herramienta de línea de comando mac de código abierto supuestamente hace eso, y mucho más:

https://github.com/guarinogabriel/Mac-CLI

La herramienta definitiva para administrar tu Mac. Proporciona un gran conjunto de comandos de línea de comandos que automatizan el uso de su sistema OS X.

Brad Parks
fuente