Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

This question is almost the same as my previous question, but with one major difference; I want to turn on/off Bluetooth from the command line (bash or similar), NOT from AppleScript - the answers for this I saw on superuser all used AppleScript.

I would guess that networksetup might be useful but have no idea what interface(s) to interact with - I would like an answer including a complete command I can run (and understand) - if device model matters, it's Snow Leopard on MacBook2,1 to MacBook7,1, except MacBook5,1, and if you can only do for 6,1 and 7,1 that's fine.

share|improve this question
1  
You can run AppleScript from the command line using osascript -e "<applescript goes here>" if popping up windows is the only issue you have with using it. –  Mathew Hall Apr 3 '12 at 17:43
    
I don't like AppleScript as a language; it tends to be verbose. –  Andrew Apr 3 '12 at 21:43
    
Also, Assistive Devices aren't enabled and I can't admin on this computer. –  Andrew Apr 3 '12 at 21:48

2 Answers 2

up vote 7 down vote accepted

Blueutil is a neat little command line tool to do this. It's free and comes with the source code.

Usage:

Print bluetooth status
blueutil status

Switch bluetooth on
blueutil on

Switch bluetooth off
blueutil off

Works just fine on a Macbook Pro running Lion (10.7.3) and Mac mini running Snow Leopard (10.6.8). You will get some errors if you switch off the bluetooth whilst a magic mouse is connected, it still works though :)

share|improve this answer
    
Thank you. I'll accept this soon but don't like to accept within 6 hours after posting (if you can do this without downloading anything, just using built-in OS X that would also be very nice so I'm waiting to see if someone suggests that). –  Andrew Apr 3 '12 at 21:41
    
@Andrew The other way you could do this without downloading anything is by killing (and restarting) the bluetooth daemon process (blued) as follows. However, I would recommend not to use this method as it plays havoc with the bluetooth preferences pane and the bluetooth status icon in the menubar, as they now will not be able to update themselves any more. To stop the bluetooth daemon: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist. To restart the bluetooth daemon: sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist –  binarybob Apr 3 '12 at 22:23
1  
I didn't give it an admin privilege. I just copied out the binary. –  Andrew Nov 25 '12 at 4:03
1  
Yeah, just copied the binary to /usr/local/bin. But where's that questionable code? Took a look at the included source and it looked legit, didn't build it though. –  Erika Mar 8 '13 at 18:59
1  
This was a great answer and BTW, you can brew install blueutil to easily install it. They seem to have changed the command line flags, use blueutil power 1 to turn on bluetooth. –  Ivanoats Jun 16 at 3:58

The following worked for me (OSX 10.7.5) to turn bluetooth ON from the command line (using commands found here):

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

(I ran into the problem that I disabled bluetooth and then on the next system start I could not use the wireless keyboard anymore... so no logging in from the screen but I could log in via ssh. And it was not clear to me how to install software such as blueutil from the command line as suggested by @binarybob )

share|improve this answer
    
I can't sudo on this computer, as per one of my other comments, but this is still nice to know. I unpacked blueutil graphically and then ran the executable from the command line, so I had to already have set it up. –  Andrew Sep 1 '13 at 17:35

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.