В Linux, если кто-то хочет перезапустить службу Bluetooth, он просто запускает терминал и выполняет следующую команду:
sudo /etc/init.d/bluetooth restart
Что эквивалентно в Mac OS X? Я хотел бы перезапустить свой Bluetooth без перезагрузки всего компьютера.
я использую Yosemite
.
Обновление: из различных параметров командной строки, предоставленных Testing ниже, единственный, который, казалось, работал, был последним, а именно:
sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
Обновление 2: указанная выше команда больше не работает, и мне интересно, работала ли она когда-либо. В первый раз, когда я попробовал это, возможно, что-то еще перезапустило мои службы Bluetooth. Единственное, что мне поможет, — это перезагрузка всей машины каждое утро.
В High Sierra у меня не работал ни один из параметров командной строки. Мне удалось подключить проводную USB-мышь и использовать Shift + Option с решением Debug/Rest.
Я попробовал решение blueutil на своей High Sierra, и оно сработало как по маслу. У меня регулярно есть Bluetooth на моем MBPR 2015 года с подключенным шлангом Apple Magic Mouse, и мне приходится перезагружать. Да, я мог бы открыть крышку и использовать трекпад, но он находится по другую сторону стены от места на моем столе.
Вы можете установить blueutil с помощью Homebrew:
brew install blueutil
Или вы можете скомпилировать и установить его вручную, используя:
cd ~/tmp/
git clone https://github.com/toy/blueutil.git
cd blueutil
make
make test
cp blueutil ~/bin/
Теперь запустите:
blueutil -p 0 && sleep 1 && blueutil -p 1
blueutil -p 0 && sleep 1 && blueutil -p 1
Также ~/bin
выдавалось сообщение о местонахождении не существует. Требуется полное местоположение, которое было /usr/local/bin
. Отлично работал тогда для меня. Спасибо../test: line 3: read: 0.001: invalid timeout specification
Затем, когда я запускаю, blueutil off && sleep 1 && blueutil on
я получаю-bash: blueutil: command not found
v10.14.5
для меня и это отлично работает. Устанавливается также с macports, если вы тоже не любите пиво.ps aux |grep -i blue
. Ответ Юсуфа перезапускает службу:sudo pkill bluetoothd
На Эль-Капитане это довольно сложно, потому что он не позволяет выгрузить системные службы. Тем не менее, метод грубой силы:
sudo pkill blued
blued — это демон bluetooth OS X, и он автоматически перезапускается при завершении (по крайней мере, когда я тестировал его на своем компьютере El Capitan). Другие связанные демоны: com.apple.bluetoothReporter, com.apple.IOBluetoothUSBDFU и com.apple.bluetoothaudiod (вы можете просмотреть запущенные демоны с помощью sudo launchctl list
)
Вы также можете попробовать:
sudo launchctl stop com.apple.blued
sudo launchctl start com.apple.blued
Если у вас более старая версия OS X, она чище:
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
или
sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
launchd
(каким командным интерфейсом является launchctl
).sudo launchctl stop com.apple.blued
команда действительно автоматически перезапускает демон без команды запуска. Старые команды ничего не делают на El Capitan, поэтому, к сожалению, у меня не так много информации (я обновил свою последнюю машину Yosemite всего пару недель назад).sudo pkill bluetoothd
ПРИМЕЧАНИЕ. У меня работает на macOS High Sierra .
Моя мышь Logitech MX Anywhere иногда не работает после сна. Как я читал, это не из-за мыши, это ошибка MacOS Smart Bluetooth. Но моя клавиатура Apple всегда работает, никогда не было этой проблемы.
Иногда я просыпаю свой компьютер, клавиатура Apple работает, но мышь Logitech не работает. Таким образом, без мыши я не могу перезапустить Bluetooth из системы (я мог бы закрыть крышку, но моя клавиатура также исчезает, поэтому я не могу перезапустить ее снова).
Я начал использовать эту команду из терминала, она останавливает службу, но когда служба останавливается, она автоматически перезапускает себя. И моя мышь начинает работать в течение секунды!
ps aux |grep -i blue
чтобы получить PID для BlueTool. Убейте BlueTool с помощью sudo kill -9 <PID>
. Теперь, если вы запустите sudo pkill bluetoothd
, он перезапустит обе службы.Стоит отметить, что имя демона blued (по крайней мере, до macOS 10.11 El Capitan) было изменено на bluetoothd .
Поэтому в зависимости от версии macOS вам необходимо изменить имя демона в приведенных ниже командах.
Следует также отметить, что выгрузка, а затем загрузка plist демона (вместо остановки, затем запуска или отправки сигнала HUP) может не работать из-за SIP (защита целостности системы), представленного в El Capitan. Но это должно работать, если вы отключили SIP или в macOS до El Capitan.
$ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist
$ sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
Даже в среде SIP (после El Capitan) вы можете просто запустить ctl stop , а затем запустить daemon.
$ sudo launchctl stop com.apple.bluetoothd # or blued based on macOS version
$ sudo launchctl start com.apple.bluetoothd
Если вы просто хотите изменить состояние (вкл. | выкл.) bluetooth, не желая, чтобы демон действительно перезапускался, вы можете сделать следующее:
# Let bluetooth be on
$ sudo defaults write
/Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1
# let bluetooth be off
$ sudo defaults write
/Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 0
# Then reload the daemon
$ sudo killall -HUP bluetoothd # or blued based on macOS version
# On a macOS system which has proctools installed, you can replace `killall` to `pkill`
Blueutil — отличная вещь, но она использует некоторые частные API IOBluetooth.framework, поэтому она может не работать в будущей версии macOS.
Для моего Macbook Pro 2017 с macOS High Sierra 10.13.6 я перезапускаю Bluetooth, используя следующий скрипт bash:
#!/bin/bash
sudo launchctl stop com.apple.bluetoothd
sudo launchctl start com.apple.bluetoothd
Этот сторонний инструмент командной строки, похоже, работает вплоть до High Sierra, абстрагируя различия между версиями OSX: https://github.com/toy/blueutil .
blueutil off && blueutil s && blueutil on
плюс можно установить через вареваbrew install blueutil
Нашел эту страницу на GitHub Gist с командами, которые сработали для меня (я использую Yosemite v. 10.10.5). Вы можете просто ввести в терминал следующее, чтобы перезапустить демон Bluetooth без перезапуска:
sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
Я использую Yosemite v10.10.5, и ни один из других комментариев/сущностей не работал у меня вообще. Единственные шаги, которые мне удалось выяснить, чтобы вернуть к жизни драйвер Bluetooth, были:
kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
в терминалеНа BigSur вы можете просто сделать,
все варианты, упомянутые здесь в этой теме, не работают должным образом, очевидно, серия ошибок в выводе. Я просто хочу поместить псевдоним в bash_profile для легкого отключения/включения службы Bluetooth с терминала. Помогает ли для него варианты Applescript, которые Я могу легко запустить через псевдоним bash_profile, набрав всего одну короткую команду псевдонима, например blueon/blueoff?
MBP:~ applehead$ > system_profiler SPSoftwareDataType Программное обеспечение:
System Software Overview:
System Version: macOS 10.14.6 (18G9323)
Kernel Version: Darwin 18.7.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: MBP_appleHead
User Name: applehead (applehead)
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
Time since boot: 4 days 17:11
Моя проблема заключается в потере Magic Mouse 2 от Macbook Air (Monterey 12.2). Затем я обнаружил, что загрузка процессора bluetoothd высока.
Я пробовал просто убить bluetoothd. И моя Magic Mouse 2 переподключилась, как только я убил bluetoothd. Кажется, bluetoothd перезапустится автоматически.
Тим Рорер
Тиме Хеннис