Wenn man unter Linux den Bluetooth-Dienst neu starten möchte, startet man einfach ein Terminal und gibt den folgenden Befehl aus:
sudo /etc/init.d/bluetooth restart
Was ist das Äquivalent auf Mac OS X? Ich möchte mein Bluetooth neu starten, ohne den gesamten Computer neu starten zu müssen.
Ich benutze Yosemite
.
Update: Von den verschiedenen Befehlszeilenoptionen, die von Testing unten bereitgestellt werden, war die einzige, die zu funktionieren schien, die letzte, nämlich diese:
sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
Update 2: Der obige Befehl funktioniert nicht mehr und ich frage mich, ob er das jemals getan hat. Als ich es das erste Mal ausprobierte, war es möglicherweise etwas anderes, das meine Bluetooth-Dienste neu gestartet hat. Das einzige, was für mich funktioniert, ist ein Neustart der gesamten Maschine jeden Morgen.
Auf High Sierra funktionierte keine der Befehlszeilenoptionen für mich. Ich konnte eine kabelgebundene USB-Maus anschließen und die Shift + Option mit Debug/Rest-Lösung verwenden.
Ich habe die Blueutil-Lösung auf meiner High Sierra ausprobiert und sie hat wie ein Zauber funktioniert. Ich habe regelmäßig Bluetooth auf meinem 2015 MBPR mit einem Apple Magic Mouse-Schlauch und muss neu starten. Ja, ich könnte den Deckel öffnen und das Trackpad benutzen, aber es ist auf der anderen Seite der Wand als mein Schreibtisch.
Sie können blueutil mit Homebrew installieren:
brew install blueutil
Oder Sie können es von Hand kompilieren und installieren mit:
cd ~/tmp/
git clone https://github.com/toy/blueutil.git
cd blueutil
make
make test
cp blueutil ~/bin/
Jetzt ausführen:
blueutil -p 0 && sleep 1 && blueutil -p 1
blueutil -p 0 && sleep 1 && blueutil -p 1
Auch ~/bin
führte zu einer Meldung, dass der Standort nicht existiert. Erforderte den vollständigen Standort, der /usr/local/bin
. Hat bei mir damals einwandfrei funktioniert. Vielen Dank../test: line 3: read: 0.001: invalid timeout specification
Dann, wenn ich laufe blueutil off && sleep 1 && blueutil on
, bekomme ich-bash: blueutil: command not found
v10.14.5
für mich und es funktioniert super. Lässt sich auch mit Macports installieren, wenn Sie Brew auch nicht lieben.ps aux |grep -i blue
. Die Antwort von Yusuf startet den Dienst neu:sudo pkill bluetoothd
Auf El Capitan ist es etwas knifflig, weil es Ihnen nicht erlaubt, Systemdienste zu entladen. Eine Brute-Force-Methode ist jedoch:
sudo pkill blued
'blued' ist der Bluetooth-Daemon von OS X und wird automatisch neu gestartet, wenn er beendet wird (zumindest als ich ihn auf meinem El Capitan-Computer getestet habe). Andere verwandte Daemons sind: com.apple.bluetoothReporter, com.apple.IOBluetoothUSBDFU und com.apple.bluetoothaudiod (Sie können sich die laufenden Daemons mit ansehen sudo launchctl list
)
Sie können auch versuchen:
sudo launchctl stop com.apple.blued
sudo launchctl start com.apple.blued
Wenn Sie eine ältere OS X-Version haben, ist diese sauberer:
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
oder
sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
launchd
(welche Befehlsschnittstelle ist launchctl
).sudo launchctl stop com.apple.blued
startet der Befehl den Daemon tatsächlich automatisch neu, ohne den Startbefehl. Die älteren Befehle machen auf El Capitan nichts, daher habe ich leider nicht viel mehr Einblick (ich habe meine letzte Yosemite-Maschine erst vor ein paar Wochen aktualisiert).sudo pkill bluetoothd
HINWEIS: Funktioniert bei mir unter macOS High Sierra
Meine Logitech MX Anywhere-Maus funktioniert nach dem Schlafen manchmal nicht. Wie ich gelesen habe, liegt es nicht an der Maus, sondern an einem MacOS Smart Bluetooth-Fehler. Aber meine Apple-Tastatur funktioniert immer, hat nie dieses Problem.
Manchmal wecke ich meinen Computer auf, die Apple-Tastatur funktioniert, aber die Logitech-Maus funktioniert nicht. Ohne die Maus kann ich also Bluetooth nicht vom System neu starten (ich könnte den Deckel schließen, aber meine Tastatur verschwindet auch, kann also nicht neu gestartet werden).
Ich habe angefangen, diesen Befehl vom Terminal aus zu verwenden, er stoppt den Dienst, aber wenn der Dienst stoppt, startet er sich automatisch neu. Und meine Maus funktioniert innerhalb einer Sekunde!
ps aux |grep -i blue
, um die PID für BlueTool abzurufen. Beenden Sie BlueTool mit sudo kill -9 <PID>
. Wenn Sie es jetzt ausführen sudo pkill bluetoothd
, werden beide Dienste neu gestartet.Eine Sache, die zu erwähnen ist, ist, dass der Daemon-Name blued (zumindest bis macOS 10.11 El Capitan) in bluetoothd geändert wurde .
Basierend auf der Version von macOS müssen Sie also den Daemon-Namen in den folgenden Befehlen ändern.
Eine weitere zu beachtende Sache ist, dass das Entladen und Laden der Plist des Daemons (anstatt zu stoppen und dann zu starten oder ein HUP-Signal zu senden) aufgrund des in El Capitan eingeführten SIP (System Integrity Protection) möglicherweise nicht funktioniert. Aber es sollte funktionieren, wenn Sie das SIP oder auf macOS vor El Capitan deaktiviert haben.
$ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist
$ sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
Sogar in der SIP-Umgebung (nach El Capitan) können Sie einfach ctl stop starten und dann den Daemon mit launchctl starten .
$ sudo launchctl stop com.apple.bluetoothd # or blued based on macOS version
$ sudo launchctl start com.apple.bluetoothd
Falls Sie nur den Status (ein|aus) von Bluetooth ändern möchten und nicht möchten, dass der Daemon tatsächlich neu gestartet wird, können Sie Folgendes tun:
# 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 ist cooles Zeug, aber es verwendet einige private APIs von IOBluetooth.framework, so dass es möglicherweise nicht auf der zukünftigen Version von macOS funktioniert.
Für mein Macbook Pro 2017 mit macOS High Sierra 10.13.6 starte ich Bluetooth mit dem folgenden Bash-Skript neu:
#!/bin/bash
sudo launchctl stop com.apple.bluetoothd
sudo launchctl start com.apple.bluetoothd
Dieses Befehlszeilentool eines Drittanbieters scheint bis zu High Sierra zu funktionieren und die Unterschiede zwischen den OSX-Versionen zu abstrahieren: https://github.com/toy/blueutil
blueutil off && blueutil s && blueutil on
und kann über brew installiert werdenbrew install blueutil
Fand diese Seite auf GitHub Gist mit Befehlen, die für mich funktionierten (ich verwende Yosemite v. 10.10.5). Sie können einfach Folgendes in das Terminal eingeben, um den Bluetooth-Daemon ohne Neustart neu zu starten:
sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
Ich verwende Yosemite v10.10.5 und keiner der anderen Kommentare / Gists hat bei mir funktioniert. Die einzigen Schritte, die ich herausfinden konnte, um den Bluetooth-Treiber wieder zum Leben zu erwecken, waren:
kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
im Terminal ausAuf BigSur können Sie einfach tun,
Alle hier in diesem Thread erwähnten Varianten funktionieren nicht richtig, offensichtlich eine Reihe von Fehlern in der Ausgabe. Ich möchte nur einen Alias in bash_profile einfügen, um den Bluetooth-Dienst einfach vom Terminal aus / einzuschalten Ich kann einfach über den bash_profile-Alias auslösen, indem ich nur einen kurzen Alias-Befehl wie blueon/blueoff ?
MBP:~ applehead$ > system_profiler SPSoftwareDataType Software:
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
Mein Problem ist, Magic Mouse 2 von Macbook Air (Monterey 12.2) zu verlieren. Dann stellte ich fest, dass die CPU-Auslastung von bluetoothd hoch ist.
Was ich versucht habe, ist einfach bluetoothd zu töten. Und meine Magic Mouse 2 hat sich wieder verbunden, sobald ich bluetoothd beendet habe. Es scheint, dass bluetoothd automatisch neu gestartet wird.
tim.rohrer
Thiem Hennis