Como controlar o rádio sem fio Bluetooth na linha de comando?

22

Esta questão é quase a mesma que a minha pergunta anterior , mas com uma grande diferença; Quero ativar / desativar o Bluetooth na linha de comando (bash ou similar), NÃO no AppleScript - as respostas para isso que vi no superusuário usaram o AppleScript.

Eu acho que networksetuppode ser útil, mas não tem idéia de qual interface (s) para interagir com - Eu gostaria de uma resposta incluindo um comando completo eu posso correr (e entender) - se as questões modelo do dispositivo, é Snow Leopard em MacBook2,1que MacBook7,1, a não ser MacBook5,1, e se você puder fazer apenas por 6,1 e 7,1, tudo bem.

Andrew Wonnacott
fonte
1
Você pode executar o AppleScript a partir da linha de comando usando osascript -e "<applescript goes here>"se o único problema é abrir janelas.
Mathew Hall
Eu não gosto do AppleScript como linguagem; tende a ser detalhado.
Andrew Wonnacott
Além disso, os dispositivos de assistência não estão ativados e não consigo administrar neste computador.
Andrew Wonnacott

Respostas:

40

Blueutil é uma pequena ferramenta de linha de comando para fazer isso. É gratuito e vem com o código fonte. Se você tiver o homebrew instalado, poderá instalá-lo viabrew install blueutil.

Uso:

Imprimir status do bluetooth
blueutil

Ligue o bluetooth
blueutil --power 1 oublueutil -p 1

Desligue o bluetooth
blueutil --power 0 oublueutil -p 0

Funciona perfeitamente em um Macbook Pro executando o Lion (10.7.3) e no Mac mini executando o Snow Leopard (10.6.8). Você receberá alguns erros se desligar o bluetooth enquanto um mouse mágico estiver conectado, mas ele ainda funciona :)

binarybob
fonte
Obrigado. Aceito isso em breve, mas não gostaria de aceitar dentro de 6 horas após a postagem (se você puder fazer isso sem baixar nada, basta usar o OS X integrado que também seria muito bom, então estou esperando para ver se alguém sugere que).
Andrew Wonnacott
3
@ Andrew A outra maneira de fazer isso sem baixar nada é matando (e reiniciando) o processo do daemon bluetooth (blued) da seguinte maneira. No entanto, eu recomendaria não usar esse método, pois causa estragos no painel de preferências do bluetooth e no ícone de status do bluetooth na barra de menus, pois agora eles não poderão mais se atualizar. Para parar o daemon do bluetooth: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist. Para reiniciar o daemon do bluetooth:sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
binarybob
1
Eu não dei um privilégio de administrador. Acabei de copiar o binário.
Andrew Wonnacott
1
Sim, apenas copiei o binário em / usr / local / bin. Mas onde está esse código questionável? Deu uma olhada na fonte incluída e ela parecia legítima, mas não a construiu.
Erika
5
Esta foi uma ótima resposta e, BTW, você pode brew install blueutilinstalá-lo facilmente. Eles parecem ter alterado os sinalizadores da linha de comando, use blueutil power 1para ativar o bluetooth.
Ivan
11

O seguinte funcionou para mim (OSX 10.7.5) para ativar o bluetooth na linha de comando (usando os comandos encontrados aqui ):

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

(Encontrei o problema de desabilitar o bluetooth e, no início do sistema, não podia mais usar o teclado sem fio ... portanto, não havia mais logon na tela, mas podia logar via ssh. E isso não estava claro para mim como instalar software como blueutilna linha de comando, conforme sugerido por @binarybob)

Andre Holzner
fonte
Eu não posso sudo neste computador, de acordo com um dos meus outros comentários, mas ainda é bom saber. Descompactei o blueutil graficamente e, em seguida, executei o executável na linha de comando, então eu já tinha que configurá-lo.
Andrew Wonnacott
Como binarybob disse anteriormente em seu comentário , isso pode confundir a GUI
Greenonline
0

Esta ferramenta de linha de comando mac de código-fonte aberto supostamente faz isso e muito mais:

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

A melhor ferramenta para gerenciar seu Mac. Ele fornece um conjunto enorme de comandos de linha de comando que automatizam o uso do seu sistema OS X.

Brad Parks
fonte