Come riavviare il servizio Bluetooth dalla riga di comando

13

Su Linux, se si desidera riavviare il servizio Bluetooth, lanciare semplicemente un terminale e inviare il seguente comando:

sudo /etc/init.d/bluetooth restart

Qual è l'equivalente su Mac OS X? Vorrei riavviare il mio Bluetooth senza dover riavviare l'intero computer.

Sto utilizzando Yosemite .

Aggiornamento: Tra le varie opzioni della riga di comando fornite da Test sotto l'unica che sembrava funzionare era l'ultima, che è questa:

sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

Aggiornamento 2: il comando sopra non funziona più e mi chiedo se sia mai successo. La prima volta che ho provato potrebbe essere stato qualcos'altro che ha riavviato i miei servizi bluetooth. L'unica cosa che funzionerà per me è un riavvio di tutta la macchina ogni mattina.

    
posta zeeple 07.09.2016 - 17:35
fonte

8 risposte

12

Su El Capitan, è un po 'complicato perché non ti permette di scaricare i servizi di sistema. Tuttavia, un metodo a forza bruta è:
sudo pkill blued
'blued' è il demone bluetooth OS X e si riavvierà automaticamente al termine (almeno quando l'ho provato sulla mia macchina El Capitan). Altri demoni correlati sono: com.apple.bluetoothReporter, com.apple.IOBluetoothUSBDFU e com.apple.bluetoothaudiod (puoi guardare i daemon in esecuzione usando sudo launchctl list )

Puoi anche provare:

sudo launchctl stop com.apple.blued
sudo launchctl start com.apple.blued

Se hai una versione precedente di OS X, è più pulita:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist

o

sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
    
risposta data 07.09.2016 - 19:10
fonte
10

In High Sierra, nessuna delle opzioni della riga di comando ha funzionato per me. Sono stato in grado di collegare un mouse USB cablato e utilizzare l'opzione Shift + con la soluzione Debug / Rest.

Ho provato la soluzione blueutil sulla mia High Sierra, e ha funzionato come un fascino. Ho regolarmente Bluetooth sul mio MBPR 2015 con un mouse Apple Magic Mouse e devo riavviare. Sì, potrei aprire il coperchio e usare il trackpad, ma è dall'altra parte del muro dalla mia scrivania.

Ecco una ricetta di Terminale per fare in modo che blueutil lavori per te:

cd ~/tmp/
git clone https://github.com/toy/blueutil.git
cd blueutil
make
make test 
cp blueutil ~/bin/

Ora esegui:

blueutil off && sleep 1 && blueutil on
    
risposta data 31.12.2017 - 18:12
fonte
5

Questo strumento da riga di comando di terze parti sembra funzionare fino a High Sierra, eliminando le differenze tra le versioni OSX: link

    
risposta data 27.12.2017 - 17:49
fonte
5

Una cosa da menzionare è il nome del demone blued (almeno fino a macOS 10.11 El Capitan), è stato modificato in bluetoothd .

Pertanto, in base alla versione di macOS, è necessario modificare il nome del daemon nei comandi sottostanti.

Un'altra cosa da notare è che, dopo aver scaricato e caricato il plist del daemon (invece di fermare, quindi avviare o inviare il segnale HUP) potrebbe non funzionare a causa della SIP (System Integrity Protection) introdotta in El Capitan. Ma dovrebbe funzionare quando si disabilita il SIP o su macOS prima di El Capitan.

$ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist
$ sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist

Anche nell'ambiente SIP (dopo El Capitan) puoi semplicemente launchctl stop quindi launchctl start il daemon.

$ sudo launchctl stop com.apple.bluetoothd # or blued based on macOS version
$ sudo launchctl start com.apple.bluetoothd

Se vuoi solo cambiare lo stato (on | off) del bluetooth, non volendo che il demone si riavvii, puoi fare quanto segue,

# 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 è interessante, ma utilizza alcune API private di IOBluetooth.framework, quindi potrebbe non funzionare sulla versione futura di macOS.

    
risposta data 19.07.2018 - 10:15
fonte
3

Trovata questa pagina su GitHub Gist con i comandi che hanno funzionato per me (sto eseguendo Yosemite v. 10.10.5) . Puoi semplicemente digitare quanto segue nel terminale per riavviare il demone bluetooth senza riavviare:

sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 

    
risposta data 06.02.2017 - 16:33
fonte
3

Per il mio Macbook Pro 2017 con macOS High Sierra 10.13.6, riavvio il bluetooth usando il seguente script di bash:

#!/bin/bash

sudo launchctl stop com.apple.bluetoothd
sudo launchctl start com.apple.bluetoothd
    
risposta data 17.08.2018 - 11:50
fonte
2
sudo pkill bluetoothd

Funziona per me su macOS High Sierra My Logitech mx ovunque non funziona dopo il sonno a volte. Come ho letto non è a causa del mouse, è un macOS Smart Bluetooth bug. Ma la mia tastiera Apple funziona sempre, non ha mai avuto questo problema. A volte mi sveglio il computer, la tastiera Apple funziona ma il mouse Logitech non funziona. Quindi senza il mouse non riesco a riavviare il Bluetooth dal sistema (potrei chiudere ma anche la tastiera va via, quindi non posso riavviare di nuovo) Ho iniziato a usare questo comando dal terminale, interrompe il servizio ma quando il servizio si ferma riavvia automaticamente . E il mio mouse inizia a funzionare in un secondo!

    
risposta data 02.03.2018 - 05:49
fonte
1

Ho installato Yosemite v10.10.5 e nessuno degli altri commenti / elenchi ha funzionato per me. Gli unici passaggi che sono riuscito a capire per riprendere in vita il driver Bluetooth sono stati:

  1. Esegui sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport nel file Terminale
  2. Riavvia il computer senza salvare le finestre aperte
risposta data 20.02.2017 - 11:29
fonte

Leggi altre domande sui tag