79 votes

Comment redémarrer le service Bluetooth depuis la ligne de commande

Sous Linux, si l'on souhaite redémarrer le service Bluetooth, il suffit de lancer un terminal et d'exécuter la commande suivante :

sudo /etc/init.d/bluetooth restart

Quelle est l'équivalent sur Mac OS X? J'aimerais redémarrer mon Bluetooth sans avoir à redémarrer tout l'ordinateur.

Je suis sur Yosemite.

Mise à jour: Parmi les différentes options en ligne de commande fournies par Testing ci-dessous, la seule qui semblait fonctionner était la dernière, qui est la suivante :

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

Mise à jour 2: La commande ci-dessus ne fonctionne plus et je me demande si elle a déjà fonctionné. La première fois que je l'ai essayée, c'était peut-être autre chose qui a redémarré mes services Bluetooth. La seule solution qui fonctionne pour moi est de redémarrer tout l'ordinateur chaque matin.

0 votes

Si l'installation d'une autre application est une option, vous pouvez consulter ce gist: gist.github.com/ralph-hm/a65840c4f5e439b90170d735a89a863f

0 votes

J'ai supprimé le com.apple.Bluetooth.plist de /Library/Preferences/SystemConfiguration/ ou /Library/Preferences/ et j'ai redémarré > résolu. Les commandes terminal ci-dessous n'ont pas fonctionné pour moi - mais bien sûr vous pouvez créer une commande terminal qui supprime ce fichier et redémarre votre mac :)

1 votes

Pour Big Sur (macOS 11.6), voici ce qui a fonctionné pour moi : sudo launchctl stop com.apple.bluetoothd; sudo launchctl start com.apple.bluetoothd

66voto

Yusuf Points 161
sudo pkill bluetoothd

REMARQUE: Cela fonctionne pour moi sur macOS High Sierra

Ma souris Logitech MX Anywhere ne fonctionne pas après une mise en veille parfois. Comme je l'ai lu, ce n'est pas à cause de la souris, c'est un bug Bluetooth intelligent de macOS. Mais mon clavier Apple fonctionne toujours, n'a jamais ce problème.

Parfois, je réveille mon ordinateur, le clavier Apple fonctionne mais la souris Logitech ne fonctionne pas. Donc sans la souris je ne peux pas redémarrer Bluetooth à partir du système (je pourrais fermer le couvercle mais mon clavier disparaît aussi, donc je ne peux pas le redémarrer de nouveau).

J'ai commencé à utiliser cette commande depuis le terminal, elle arrête le service mais lorsque le service s'arrête, il se redémarre automatiquement. Et ma souris recommence à fonctionner en une seconde !

2 votes

Oh super, cela a réparé mon magic mouse qui était lent.

1 votes

Fonctionne à merveille dans MacOS Monterrey 12.6

0 votes

Vous pouvez avoir un service Bluetooth lié en cours d'exécution appelé BlueTool. Pour redémarrer tout, exécutez ps aux | grep -i blue pour obtenir le PID de BlueTool. Tuez BlueTool avec sudo kill -9 . Maintenant, si vous exécutez sudo pkill bluetoothd, il redémarrera les deux services.

65voto

Rob Points 183

Sous High Sierra, aucune des options en ligne de commande n'a fonctionné pour moi. J'ai pu brancher une souris USB filaire et utiliser la solution Shift + Option avec Debug/Rest.

J'ai essayé la solution blueutil sur mon High Sierra, et ça a fonctionné à merveille. J'ai régulièrement des problèmes de Bluetooth sur mon 2015 MBPR avec une Magic Mouse Apple, et je dois redémarrer. Ouais, je pourrais ouvrir le couvercle et utiliser le trackpad, mais il est de l'autre côté du mur par rapport à mon espace de bureau.

Vous pouvez installer blueutil en utilisant Homebrew :

brew install blueutil

Ou vous pouvez le compiler et l'installer manuellement en utilisant :

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

Exécutez maintenant :

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

6 votes

La commande n'a pas fonctionné pour moi. J'ai dû exécuter blueutil -p 0 && sleep 1 && blueutil -p 1 Aussi ~/bin a résulté en message d'emplacement inexistant. Il fallait l'emplacement complet qui était /usr/local/bin. Ensuite ça fonctionnait parfaitement pour moi. Merci.

0 votes

Exécuter le test semble réussi, mais commence toujours par ./test: ligne 3: read: 0.001: spécification de timeout non valide Ensuite, lorsque j'exécute blueutil off && sleep 1 && blueutil on, j'obtiens -bash: blueutil: commande introuvable

1 votes

Jamais entendu parler de cet utilitaire, il m'a sauvé la mise. v10.14.5 pour moi et cela fonctionne très bien. S'installe également avec macports, si vous n'aimez pas non plus brew.

30voto

Raj J Points 677

Sur El Capitan, c'est un peu délicat car il ne permet pas de décharger les services système. Cependant, une méthode brutale est :
sudo pkill blued
'blued' est le démon bluetooth de OS X, et il redémarrera automatiquement lorsqu'il sera terminé (au moins c'est ce que j'ai testé sur ma machine El Capitan). D'autres démons liés sont : com.apple.bluetoothReporter, com.apple.IOBluetoothUSBDFU et com.apple.bluetoothaudiod (vous pouvez voir les démons en cours d'exécution en utilisant sudo launchctl list)

Vous pouvez également essayer :

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

Si vous avez une ancienne version de OS X, c'est plus propre :

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

ou

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

0 votes

J'ai essayé les trois commandes que vous avez suggérées et aucune d'entre elles n'a tué et/ou redémarré le bluetooth. Je dis cela car j'ai toujours pu utiliser ma souris et mon clavier bluetooth après avoir lancé la version 'kill' de chacune des commandes. D'autres idées ? Je suis actuellement sur Yosemite.

0 votes

@zeeple : vous avez raison. Toutes les commandes fournies par @Testing provoqueront un redémarrage automatique des démons tués car ils sont configurés de cette manière par launchd (dont l'interface de commande est launchctl).

0 votes

Ce matin, aucune de ces commandes ne fonctionne pour faire fonctionner à nouveau mon bluetooth. La seule chose qui fonctionnait était un redémarrage du système d'exploitation.

23voto

mogutan88 Points 191

Une chose à mentionner est que le nom du démon blued (du moins jusqu'à macOS 10.11 El Capitan) a été changé en bluetoothd.

Donc, en fonction de la version de macOS, vous devez changer le nom du démon dans la ou les commandes ci-dessous.

Autre chose à noter, décharger puis charger le plist du démon (au lieu d'arrêter puis de redémarrer ou d'envoyer un signal HUP) peut ne pas fonctionner en raison de la SIP (Protection de l'intégrité du système) introduite dans El Capitan. Mais cela devrait fonctionner lorsque vous avez désactivé la SIP ou sur macOS avant El Capitan.

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

Même dans l'environnement SIP (après El Capitan), vous pouvez simplement launchctl stop puis launchctl start le démon.

$ sudo launchctl stop com.apple.bluetoothd # ou blued en fonction de la version de macOS
$ sudo launchctl start com.apple.bluetoothd

Dans le cas où vous souhaitez simplement que le statut (activé|désactivé) du bluetooth soit modifié, sans vouloir réellement redémarrer le démon, vous pouvez faire ce qui suit,

# Laisser le bluetooth activé
$ sudo defaults write 
/Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1

# Laisser le bluetooth désactivé
$ sudo defaults write 
/Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 0

# Ensuite, recharger le démon
$ sudo killall -HUP bluetoothd # ou blued en fonction de la version de macOS
# Sur un système macOS sur lequel proctools est installé, vous pouvez remplacer `killall` par `pkill`

Blueutil est un outil intéressant, mais il utilise certaines API privées de IOBluetooth.framework, il peut donc ne pas fonctionner sur les futures versions de macOS.

10voto

Mark Winterbottom Points 206

Pour mon Macbook Pro 2017 avec macOS High Sierra 10.13.6, je redémarre le bluetooth en utilisant le script bash suivant :

#!/bin/bash

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

1 votes

Merci! Cela fonctionne également sur macOS Monterey.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X