Как управлять беспроводным Bluetooth-радио из командной строки?


22

Этот вопрос почти такой же, как мой предыдущий вопрос , но с одним существенным отличием; Я хочу включить / выключить Bluetooth из командной строки (bash или аналогичной), а не из AppleScript - ответы для этого я видел на суперпользователе, все использовали AppleScript.

Я предположил бы , что networksetupможет быть полезным , но понятия не имеют , что интерфейс (ы) для взаимодействия с - я хотел бы получить ответ , включая полную команду можно запустить (и понять) - если модель устройства имеет значение, это Snow Leopard на MacBook2,1к MacBook7,1, за исключением того MacBook5,1, и если вы можете сделать только для 6,1 и 7,1, это нормально.


1
Вы можете запустить AppleScript из командной строки, используя, osascript -e "<applescript goes here>"если всплывающие окна - единственная проблема, с которой вы сталкиваетесь при его использовании.
— Мэтью Холл

Я не люблю AppleScript как язык; это имеет тенденцию быть многословным.
— Эндрю Воннакотт

Кроме того, вспомогательные устройства не включены, и я не могу администратор на этом компьютере.
— Эндрю Воннакотт

Ответы:


40

Blueutil - это аккуратный маленький инструмент командной строки, чтобы сделать это. Это бесплатно и поставляется с исходным кодом. Если у вас установлен homebrew , вы можете установить его черезbrew install blueutil.

Использование:

Печать состояния Bluetooth
blueutil

Включить Bluetooth
blueutil --power 1 илиblueutil -p 1

Выключить Bluetooth
blueutil --power 0 илиblueutil -p 0

Отлично работает на Macbook Pro с Lion (10.7.3) и Mac mini с Snow Leopard (10.6.8). Вы получите некоторые ошибки, если отключите Bluetooth, когда подключена волшебная мышь, хотя она все еще работает :)


Спасибо. Я приму это в ближайшее время, но не хотел бы принимать в течение 6 часов после публикации (если вы можете сделать это, не загружая ничего, просто используя встроенную OS X, что также было бы очень приятно, так что я жду, чтобы увидеть, если кто-то предполагает, что).
— Эндрю Воннакотт

3
@Andrew Другой способ, которым вы могли бы сделать это без загрузки чего-либо, - убить (и перезапустить) процесс демона bluetooth (синий) следующим образом. Однако я бы порекомендовал не использовать этот метод, так как он портит панель настроек bluetooth и значок состояния bluetooth в строке меню, поскольку теперь они больше не смогут обновляться. Для того, чтобы остановить демона , поддерживающих Bluetooth: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist. Чтобы перезапустить демон bluetooth:sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
— binarybob

1
Я не дал ему привилегии администратора. Я просто скопировал двоичный файл.
— Эндрю Воннакотт

1
Да, просто скопировал бинарный файл в / usr / local / bin. Но где этот сомнительный код? Взглянул на включенный источник, и он выглядел законно, хотя и не создавал его.
— Эрика

5
Это был отличный ответ, и кстати, вы можете brew install blueutilлегко установить его. Они, кажется, изменили флаги командной строки, используйте blueutil power 1для включения Bluetooth.
— Иван

11

Следующее работало для меня (OSX 10.7.5), чтобы включить Bluetooth из командной строки (используя команды, найденные здесь ):

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

(Я столкнулся с проблемой, что я отключил Bluetooth, а затем при следующем запуске системы я больше не мог использовать беспроводную клавиатуру ... поэтому не входил в систему с экрана, но я мог войти через ssh. И мне это было не понятно как установить программное обеспечение, например, blueutilиз командной строки, как предложено @binarybob)


Я не могу sudo на этом компьютере, согласно одному из моих других комментариев, но это все еще приятно знать. Я распаковал blueutil графически, а затем запустил исполняемый файл из командной строки, поэтому мне уже пришлось его настроить.
— Эндрю Воннакотт

Как ранее сказал двоичный боб в своем комментарии , это может запутать графический интерфейс
— Greenonline

0

Этот инструмент командной строки с открытым исходным кодом Mac предположительно делает это, и многое другое:

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

Лучший инструмент для управления вашим Mac. Он предоставляет огромный набор команд командной строки, которые автоматизируют использование вашей системы OS X.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.