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.