Come riavviare il servizio Bluetooth dalla riga di comando


27

Su Linux, se si desidera riavviare il servizio Bluetooth, è sufficiente avviare un terminale ed emettere il seguente comando:

sudo /etc/init.d/bluetooth restart

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

Sto usando Yosemite.

Aggiornamento: Tra le varie opzioni della riga di comando fornite da Testing 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 lo abbia mai fatto. La prima volta che l'ho provato potrebbe essere stato qualcos'altro che ha riavviato i miei servizi bluetooth. L'unica cosa che funzionerà per me è un riavvio dell'intera macchina ogni mattina.


Quale versione di OS X? Sembra che possa importare in questo caso.
tim.rohrer

Se l'installazione di un'altra app è un'opzione, puoi dare un'occhiata a questa sintesi
tim.rohrer

Ottima domanda Investiamo ancora il punto. Penso che ci sia un modo pulito su Maverickse Yosemite.
dan

Ho rimosso com.apple.Bluetooth.plist da / Library / Preferences / SystemConfiguration / o / Library / Preferences / e riavviato> risolto. i comandi del terminale qui sotto non hanno funzionato per me - ma ovviamente puoi fare un comando del terminale che rimuove questo file e quindi riavvia il tuo mac :)
Thieme Hennis

Risposte:


25

Su 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 tubo Apple Magic Mouse e devo riavviare. Sì, potrei aprire il coperchio e usare il trackpad, ma è dall'altra parte del muro dalla mia scrivania.

Puoi installare blueutil usando Homebrew:

brew install blueutil

Oppure puoi compilarlo e installarlo manualmente usando:

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

Ora esegui:

blueutil -p 0 && sleep 1 && blueutil -p 1

Sto eseguendo 10.13.3 e ho usato con successo il blueutil della riga di comando pubblicato sopra. Grazie per questo!
Chris Sia,

3
Finalmente qualcosa che funziona !!!
Mirko

6
Il comando non ha funzionato per me. Ho dovuto eseguire blueutil -p 0 && sleep 1 && blueutil -p 1anche ~/binrisultato in posizione non esiste messaggio. Richiesto il percorso completo che era /usr/local/bin. Ha funzionato perfettamente quindi per me. Grazie.
Oliver,

L'esecuzione del test sembra ./test: line 3: read: 0.001: invalid timeout specificationandata a buon fine, ma inizia sempre con Quindi quando corro blueutil off && sleep 1 && blueutil onottengo-bash: blueutil: command not found
skybondsor il

2
Solo sottolineando che puoi installarlo con homebrew:brew install blueutil
Modifica Lagos il

17

Su El Capitan, è un po 'complicato perché non ti consente 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 quando terminato (almeno quando l'ho testato sulla mia macchina El Capitan). Altri daemon correlati sono: com.apple.bluetoothReporter, com.apple.IOBluetoothUSBDFU e com.apple.bluetoothaudiod (puoi guardare i demoni 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

Ho provato tutti e tre i comandi che hai suggerito e nessuno di loro avrebbe ucciso e / o riavviato il bluetooth. Lo dico perché ero ancora in grado di utilizzare il mouse e la tastiera bluetooth dopo aver emesso la versione "kill" di ciascuno dei comandi. Altre idee? Sono su Yosemite al momento.
zeeple,

@zeeple: hai ragione. Tutto il comando fornito da @Testing provocherà un riavvio automatico dei demoni uccisi perché sono configurati in questo modo da launchd(quale interfaccia di comando è launchctl).
dan

Questa mattina nessuno di questi comandi funziona per far funzionare di nuovo il mio bluetooth. L'unica cosa che avrebbe funzionato era un riavvio del sistema operativo.
zeeple,

Su El Capitan il sudo launchctl stop com.apple.bluedcomando riavvia automaticamente il demone senza il comando start. I comandi più vecchi non fanno nulla su El Capitan, quindi sfortunatamente non ho molte più informazioni (ho aggiornato la mia ultima macchina Yosemite solo un paio di settimane fa).
Test del

Purtroppo, lavoro per un'azienda gigante con un reparto IT all'indietro. Non consentiranno l'aggiornamento a nulla oltre Yosemite. Nessuno dei comandi sopra funziona per me. Il riavvio dell'intera macchina ogni mattina è l'unica cosa che funzionerà.
zeeple

7

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

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

Un'altra cosa da notare è che, scaricare e caricare il plist del demone (invece di fermarsi quindi avviare o inviare il segnale HUP) potrebbe non funzionare a causa del SIP (System Integrity Protection) introdotto in El Capitan. Ma dovrebbe funzionare quando hai disabilitato 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 avviarectl stop quindi launchctl avviare il demone.

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

Nel caso in cui desideri solo cambiare lo stato (on | off) del bluetooth, non volendo che il demone si riavvii effettivamente, 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 è roba interessante, ma utilizza alcune API private di IOBluetooth.framework, quindi potrebbe non funzionare con la versione futura di macOS.


5

Questo strumento da riga di comando di terze parti sembra funzionare fino a High Sierra, eliminando le differenze tra le versioni di OSX: https://github.com/toy/blueutil


funziona per me il 10.13 blueutil off && blueutil s && blueutil one può essere installato tramite brewbrew install blueutil
urandom

4
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 bug macOS Smart Bluetooth. Ma la mia tastiera Apple funziona sempre, non ho 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 mia tastiera scompare, quindi non posso riavviarlo) Ho iniziato a usare questo comando dal terminale, interrompe il servizio ma quando il servizio si interrompe si riavvia automaticamente . E il mio mouse inizia a funzionare in un secondo!


4

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

#!/bin/bash

sudo launchctl stop com.apple.bluetoothd
sudo launchctl start com.apple.bluetoothd

2

Ho trovato 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 


1

Sto eseguendo Yosemite v10.10.5 e nessuno degli altri commenti / idee ha funzionato per me. Gli unici passaggi che sono riuscito a capire per riportare in vita il driver bluetooth sono stati:

  1. Eseguire sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransportnel terminale
  2. Riavvia il computer senza conservare le finestre aperte

4
Per me, semplicemente riavviare il computer fa il trucco. Quello che sto cercando è un modo da riga di comando per farlo senza dover riavviare l'intera macchina.
zeeple,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.