В Linux, если необходимо перезапустить службу Bluetooth, достаточно запустить терминал и выполнить следующую команду:
sudo /etc/init.d/bluetooth restart
Каков эквивалент в Mac OS X? Я хотел бы перезапустить Bluetooth без перезагрузки всего компьютера.
Я использую Yosemite
.
Обновление: Из различных вариантов командной строки, предложенных в разделе "Тестирование", единственным, который, похоже, сработал, был последний, который заключается в следующем:
sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
Обновление 2: Приведенная выше команда больше не работает, и я задаюсь вопросом, работала ли она вообще. В первый раз, когда я попробовал ее, возможно, что-то другое перезапустило мои службы bluetooth. Единственное, что работает для меня, это перезагрузка всей машины каждое утро.
На Сьерре, ни один из вариантов командной строки работал для меня. Мне удалось подключить проводную USB мышь и использовать параметр Шифт + с debug/решение остальных.
Я попробовал решение blueutil на моей Сьерре, и он работал как шарм. У меня регулярно возникают Bluetooth на моем 2015 MBPR с яблоком волшебный шланг до мыши, и приходится перезагружать. Да, я могу открыть крышку и пользоваться тачпэдом, но это's на другой стороне стены от моего рабочего места.
Вы можете установить blueutil с помощью доморощенного:
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
На El Capitan это довольно сложно, поскольку он не позволяет выгружать системные службы. Тем не менее, можно воспользоваться методом грубой силы:
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
Одна вещь, чтобы упомянуть имя демона тип (по крайней мере, пока в macOS 10.11 Эль-Капитан), был изменен на bluetoothd.
Итак, основываясь на версии для macOS, вам нужно изменить имя демона в следующую команду(ы).
Другая вещь, чтобы отметить, что выгрузить а потом загрузить демон's в файл plist(вместо того, чтобы остановить, запустить или посылать сигнал HUP) может не работать из-за SIP(система защиты целостности) представляет в Эль-Капитан. Но он должен работать, когда вы отключили SIP или на macOS до Эль-Капитан.
$ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist
$ sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
Даже в SIP-среде(после Эль-Капитан) можно просто помощью следущей остановке то помощью следущей начать демон.
$ 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-это классные вещи, но он использует некоторые частный интерфейс IOBluetooth.рамках, поэтому он не может работать на будущих версиях операционной системы macOS.
Это 3-й партии инструмент командной строки, кажется, работает весь путь до высокая Сьерра, абстрагируясь от различий между версиями OSX с: https://github.com/toy/blueutil
sudo pkill bluetoothd
У меня работает на macOS высокая Сьерра Мой Logitech MX в любом месте не работает после сна иногда. Когда я читаю его не потому, что мыши, это'ы для macOS умный Bluetooth ошибка. Но моя клавиатура Apple всегда работает, никогда не получил эту проблему. Иногда я просыпаюсь мой компьютер, клавиатура работает, но мышь не работает. Так что без мыши я не могу перезапустить Bluetooth из системы (я мог близко, но моя клавиатура тоже уйдет, так что не могу перезагрузить еще раз) я начал использовать эту команду из терминала, он останавливает службу, но при остановке она автоматически перезапускает его собственной. И мышь начинает работать уже через секунду!
На моем MacBook Pro с 2017 с высокой 10.13.6 в macOS Сьерра, я перезапустить Bluetooth, используя следующий скрипт:
#!/bin/bash
sudo launchctl stop com.apple.bluetoothd
sudo launchctl start com.apple.bluetoothd
Нашел эту страницу на GitHub Gist с командами, которые сработали для меня (я использую Yosemite v. 10.10.5). Чтобы перезапустить демон bluetooth без перезагрузки, можно просто набрать в терминале следующее:
sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
[tag:bluetooth] [tag:daemon]
Я использую Yosemite v10.10.5, и ни один из других комментариев / gists не работал для меня вообще. Единственное, что мне удалось выяснить, чтобы вернуть к жизни драйвер bluetooth, это:
kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
в
терминале