명령 줄에서 Bluetooth 서비스를 다시 시작하는 방법


27

Linux에서 Bluetooth 서비스를 다시 시작하려는 경우 간단히 터미널을 시작하고 다음 명령을 실행하십시오.

sudo /etc/init.d/bluetooth restart

Mac OS X에 해당하는 것은 무엇입니까? 전체 컴퓨터를 다시 시작하지 않고 Bluetooth를 다시 시작하고 싶습니다.

사용하고 Yosemite있습니다.

업데이트 : Testing에서 제공하는 다양한 명령 행 옵션 중 작동하는 것으로 보이는 유일한 옵션은 다음과 같습니다.

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

업데이트 2 : 위의 명령이 더 이상 작동하지 않으며 그랬는지 궁금합니다. 처음 시도했을 때 블루투스 서비스를 다시 시작한 것일 수 있습니다. 나에게 도움이되는 유일한 것은 매일 아침 전체 컴퓨터를 다시 시작하는 것입니다.


어떤 OS X 버전입니까? 이 경우에는 문제가 될 수 있습니다.
tim.rohrer

다른 앱을 설치하는 것이 옵션 인 경우이 요점을 확인하십시오. gist.github.com/ralph-hm/a65840c4f5e439b90170d735a89a863f
tim.rohrer

훌륭한 질문입니다. 여전히 요점을 투자하고 있습니다. 나는 깨끗한 방법에 있다고 생각 Mavericks하고 Yosemite.
dan

/ Library / Preferences / SystemConfiguration / 또는 / Library / Preferences /에서 com.apple.Bluetooth.plist를 제거하고 다시 시작> 고쳤습니다. 아래의 터미널 명령은 저에게 효과적이지 않았지만 물론이 파일을 제거하고 Mac을 다시 시작하는 터미널 명령을 만들 수 있습니다. :)
Thieme Hennis

답변:


25

High Sierra에서는 어떤 명령 줄 옵션도 효과가 없었습니다. 유선 USB 마우스를 꽂고 Shift + Option을 Debug / Rest 솔루션과 함께 사용할 수있었습니다.

High Sierra에서 blueutil 솔루션을 사용해 보니 매력처럼 작동했습니다. Apple Magic Mouse 호스를 사용하여 2015 MBPR에서 Bluetooth를 정기적으로 사용하고 다시 시작해야합니다. 예, 뚜껑을 열고 트랙 패드를 사용할 수는 있지만 책상 공간에서 벽 반대편에 있습니다.

Homebrew를 사용하여 blueutil 을 설치할 수 있습니다 .

brew install blueutil

또는 다음을 사용하여 직접 컴파일하고 설치할 수 있습니다.

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

이제 다음을 실행하십시오.

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

10.13.3을 실행 중이며 위에 게시 된 명령 줄 blueutil을 성공적으로 사용했습니다. 감사합니다!
Chris Sia

3
마지막으로 작동하는 것!
Mirko

6
명령이 저에게 효과가 없었습니다. 나는 blueutil -p 0 && sleep 1 && blueutil -p 1또한 ~/bin위치 메시지가 존재하지 않는 결과 를 실행했다 . 의 전체 위치가 필요합니다 /usr/local/bin. 그때 완벽하게 일했습니다. 감사.
Oliver

실행 테스트가 성공적으로 보이지만, 항상 시작 ./test: line 3: read: 0.001: invalid timeout specification내가 실행할 때 그 다음 blueutil off && sleep 1 && blueutil on내가 얻을-bash: blueutil: command not found
skybondsor

2
homebrew로 이것을 설치할 수 있습니다 :brew install blueutil
Alter Lagos

17

El Capitan에서는 시스템 서비스를 언로드 할 수 없기 때문에 까다 롭습니다. 그러나 무차별 강제 방법은 다음과 같습니다.
sudo pkill blued
'blued'는 OS X 블루투스 데몬이며 종료되면 (적어도 El Capitan 컴퓨터에서 테스트했을 때) 자동으로 다시 시작됩니다. 다른 관련 데몬은 다음과 같습니다. com.apple.bluetoothReporter, com.apple.IOBluetoothUSBDFU 및 com.apple.bluetoothaudiod (를 사용하여 실행되는 데몬을 볼 수 있음 sudo launchctl list)

시도해 볼 수도 있습니다 :

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

이전 OS X 버전이 있다면 더 깨끗합니다.

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

또는

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

나는 당신이 제안한 세 가지 명령을 모두 시도했지만 그중 어느 것도 블루투스를 죽이거나 재시작하지 않을 것입니다. 나는 각 명령의 'kill'버전을 발행 한 후에도 여전히 블루투스 마우스와 키보드를 사용할 수 있었기 때문에 이것을 말합니다. 다른 아이디어가 있습니까? 나는 지금 요세미티에 있습니다.
zeeple

@ zeeple : 당신이 맞아요. @Testing에서 제공하는 모든 명령은이 방식으로 launchd명령 된 데몬 (명령 인터페이스는 launchctl)을 구성하므로 종료 된 데몬을 자동으로 다시 시작 합니다.
dan

오늘 아침이 명령들 중 어느 것도 내 블루투스를 다시 작동시키지 않습니다. 작동하는 유일한 것은 OS의 재부팅이었습니다.
zeeple

El Capitan에서이 sudo launchctl stop com.apple.blued명령은 실제로 start 명령없이 데몬을 자동 재시작합니다. 이전 명령은 El Capitan에서 아무것도하지 않으므로 불행히도 더 많은 통찰력이 없습니다 (몇 주 전에 마지막 요세미티 컴퓨터를 업그레이드했습니다).
테스트

슬프게도, 나는 IT 부서가 거꾸로 된 거대 회사에서 일합니다. 그들은 요세미티 이외의 것으로 업그레이드 할 수 없습니다. 위의 명령 중 어느 것도 나를 위해 작동하지 않습니다. 매일 아침 전체 시스템을 다시 시작하는 것이 효과가 있습니다.
zeeple

7

한 가지 언급 할 것은 데몬 이름 blued (적어도 macOS 10.11 El Capitan까지)가 bluetoothd 로 변경되었다는 것 입니다.

따라서 macOS 버전에 따라 아래 명령에서 데몬 이름을 변경해야합니다.

주목해야 할 또 다른 사항은 El Capitan에 도입 된 SIP (System Integrity Protection)로 인해 데몬의 plist를 언로드 한 다음로드하는 것입니다 (정지 한 다음 시작 또는 HUP 신호 전송 대신)가 작동하지 않을 수 있습니다. 그러나 El Capitan 이전에 SIP를 비활성화하거나 macOS에서 작동해야합니다.

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

SIP 환경 (El Capitan 이후)에서도 간단히 ctctl stop시작한 다음 launchctl을 사용 하여 데몬을 시작할 수 있습니다 .

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

데몬을 실제로 다시 시작하지 않고 블루투스의 상태 (on | off)를 변경하려는 경우 다음을 수행 할 수 있습니다.

# 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은 멋진 기능이지만 IOBluetooth.framework의 일부 개인 API를 사용 하므로 향후 버전의 macOS에서는 작동하지 않을 수 있습니다.


5

이 타사 명령 줄 도구는 OSX 버전의 차이점을 추상화하여 High Sierra까지 완벽하게 작동하는 것 같습니다. https://github.com/toy/blueutil


10.13에서 나를 위해 일하고 blueutil off && blueutil s && blueutil on양조를 통해 설치할 수 있습니다.brew install blueutil
urandom

4
sudo pkill bluetoothd

macOS High Sierra에서 작동합니다. Logitech mx는 수면 후 가끔 작동하지 않습니다. 마우스 때문에 읽지 않은 것은 macOS Smart Bluetooth 버그입니다. 그러나 내 Apple 키보드는 항상 작동하지만이 문제는 발생하지 않았습니다. 때로는 컴퓨터를 깨울 때 Apple 키보드는 작동하지만 Logitech 마우스는 작동하지 않습니다. 따라서 마우스가 없으면 시스템에서 블루투스를 다시 시작할 수 없습니다 (닫을 수는 있지만 키보드도 사라져 다시 시작할 수 없습니다) 터미널 에서이 명령을 사용하기 시작하면 서비스가 중지되지만 서비스가 중지되면 자동으로 자체 재시작됩니다. . 그리고 내 마우스가 1 초 안에 작동하기 시작합니다!


4

macOS High Sierra 10.13.6이 설치된 Macbook Pro 2017의 경우 다음 bash 스크립트를 사용하여 블루투스를 다시 시작합니다.

#!/bin/bash

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

2

저에게 도움이되는 명령으로 GitHub Gist 에서이 페이지 를 찾았 습니다 (요세미티 v. 10.10.5를 실행 중입니다). 터미널에 다음을 입력하여 다시 시작하지 않고 블루투스 데몬을 다시 시작할 수 있습니다.

sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 


1

나는 Yosemite v10.10.5를 실행 중이며 다른 의견 / 요점은 전혀 나를 위해 일하지 않았습니다. 블루투스 드라이버를 다시 사용하기 위해 알아 낸 유일한 단계는 다음과 같습니다.

  1. kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport터미널에서 sudo 를 실행
  2. 열린 창을 보존하지 않고 컴퓨터를 다시 시작하십시오.

4
나를 위해 단순히 컴퓨터를 다시 시작하면 트릭이 수행됩니다. 내가 찾고있는 것은 전체 컴퓨터를 다시 시작할 필요없이 명령 행 방법입니다.
zeeple
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.