如何从命令行控制蓝牙无线电?


22

这个问题与我之前的问题几乎相同,但有一个主要区别。我想从命令行(bash或类似功能)而不是从AppleScript 打开/关闭蓝牙-我在超级用户上看到的答案都是使用过的AppleScript。

我猜想,networksetup可能是有用的,但不知道什么接口(S)与互动-我想,包括一个完整的命令,我可以运行一个答案(和理解) -如果设备模型的问题,它的雪豹MacBook2,1MacBook7,1,除了MacBook5,1,如果您只能为6,1和7,1做就可以了。


1
osascript -e "<applescript goes here>"如果弹出窗口是使用它的唯一问题,则可以从命令行使用AppleScript运行。
Mathew Hall

我不喜欢AppleScript作为语言。它往往很冗长。
Andrew Wonnacott 2012年

另外,辅助设备未启用,我无法在这台计算机上进行管理。
Andrew Wonnacott 2012年

Answers:


40

Blueutil是一个精巧的小命令行工具来执行此操作。它是免费的,并附带源代码。如果您安装了自制软件,则可以通过安装它brew install blueutil

用法:

打印蓝牙状态
blueutil

开启蓝牙
blueutil --power 1blueutil -p 1

关闭蓝牙
blueutil --power 0blueutil -p 0

在运行Lion(10.7.3)的Macbook Pro和运行Snow Leopard(10.6.8)的Mac mini上运行正常。如果在连接了魔术鼠标的同时关闭了蓝牙,则会出现一些错误,尽管它仍然有效:)


谢谢。我很快就会接受,但不希望在发布后的6个小时内接受(如果您无需下载任何内容就可以这样做,只需使用内置的OS X,效果也很好,所以我在等着看是否有人建议)。
Andrew

3
@Andrew无需下载任何内容即可完成此操作的另一种方法是,按如下所示杀死(并重新启动)蓝牙守护进程(blued)。但是,我建议不要使用此方法,因为它会对菜单栏中的蓝牙首选项窗格和蓝牙状态图标造成严重破坏,因为它们现在将无法再进行更新。要停止蓝牙守护进程:sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist。重新启动蓝牙守护程序:sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
binarybob 2012年

1
我没有给它管理员权限。我只是复制了二进制文件。
Andrew Wonnacott 2012年

1
是的,只需将二进制文件复制到/ usr / local / bin。但是那个可疑的代码在哪里?看了一下其中包含的资源,它看起来合法,但是没有构建它。
埃里卡(Erika)2013年

5
这是一个很好的答案,顺便说一句,您可以brew install blueutil轻松地安装它。他们似乎已经更改了命令行标志,用于blueutil power 1打开蓝牙。
伊万

11

以下对我有用(OSX 10.7.5)从命令行打开蓝牙(使用在此处找到的命令):

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

(我遇到了禁用蓝牙的问题,然后在下一个系统启动时,我再也无法使用无线键盘了……所以无法从屏幕上登录,但可以通过ssh登录。如何如blueutil@binarybob建议的那样从命令行安装软件)


根据我的其他评论之一,我无法在此计算机上sudo,但这仍然很高兴。我以图形方式解压缩了blueutil,然后从命令行运行了可执行文件,因此我必须已经对其进行了设置。
Andrew Wonnacott 2013年

正如binarybob先前在其评论中所说,这可能会混淆GUI
Greenonline,2016年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.