題:
如何從命令行重新啟動藍牙服務
zeeple
2016-09-07 20:35:17 UTC
view on stackexchange narkive permalink

在Linux上,如果希望重啟藍牙服務,他們只需啟動終端並發出以下命令:

  sudo /etc/init.d/bluetooth重新啟動
 

Mac OS X上的等效功能是什麼?我想重新啟動藍牙,而不必重新啟動整個計算機。

我正在使用 Yosemite

更新:在“測試”提供的各種命令行選項中,似乎唯一可行的是最後一個,這是

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

更新2:上面的命令不再起作用,我想知道是否可以。第一次嘗試,可能是因為其他原因重新啟動了藍牙服務。唯一對我有用的是每天早晨重新啟動整個機器。

哪個版本的OS X?在這種情況下似乎很重要。
如果可以選擇安裝其他應用,則可以查看以下要點:https://gist.github.com/ralph-hm/a65840c4f5e439b90170d735a89a863f
很好的問題。仍在投資這一點。我認為在“小牛”和“優勝美地”上有一種干淨的方法。
我從/ Library / Preferences / SystemConfiguration /或/ Library / Preferences /中刪除了com.apple.Bluetooth.plist並重新啟動>已修復。下面的終端命令對我不起作用-但您當然可以使用終端命令刪除該文件,然後重新啟動Mac :)
八 答案:
sygibson
2017-12-31 23:12:48 UTC
view on stackexchange narkive permalink

在High Sierra上,沒有任何命令行選項對我有用。我能夠插入有線USB鼠標,並在Debug / Rest解決方案中使用Shift + Option。

我在High Sierra上嘗試了blueutil解決方案,它的工作原理很吸引人。我經常在2015 MBPR上使用Apple Magic Mouse軟管連接藍牙,並且必須重新啟動。是的,我可以打開蓋子並使用觸控板,但它在我的辦公桌空間的另一側。

您可以使用Homebrew安裝blueutil

 釀造blueutil
 

或者您可以使用以下命令手動編譯並安裝它:

  cd〜/ tmp /
git clone https://github.com/toy/blueutil.git
光盤blueutil
使
做測試
cp blueutil〜/ bin /
 

現在運行:

  blueutil -p 0 && sleep 1 && blueutil -p 1
 
我正在運行10.13.3,並且剛剛成功使用了上面發布的命令行blueutil。謝謝你!
最後,一些可行的方法!!!
該命令對我不起作用。我必須運行`blueutil -p 0 && sleep 1 && blueutil -p 1`。此外,~~ bin導致位置不存在的消息。需要完整的位置為/ usr / local / bin。那對我來說就完美了。謝謝。
運行測試似乎成功,但是總是以`./test:第3行:讀取:0.001:無效的超時規範'開頭 然後,當我運行`blueutil off && sleep 1 && blueutil on`時,我得到`-bash:blueutil:命令未找到`。
只是指出您可以使用homebrew安裝它:`brew install blueutil`
感謝Oliver和AlterLagos。我剛剛編輯了答案以更新此信息。
天哪,謝謝...這一直讓我發瘋,這是唯一有效的解決方案
從來沒有聽說過這個實用程序,保存了我的培根。v10.14.5對我來說非常有效。如果您都不喜歡brew,也可以與macports一起安裝。
Testing
2016-09-07 22:10:12 UTC
view on stackexchange narkive permalink

在El Capitan上,這有點棘手,因為它不允許您卸載系統服務。但是,蠻力方法是:
sudo pkill變藍
“ 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啟動com.apple.blued
 

如果您使用的是舊版OS X,它會更乾淨:

  sudo launchctl卸載/System/Library/LaunchDaemons/com.apple.blued.plist
sudo launchctl加載/System/Library/LaunchDaemons/com.apple.blued.plist
 

  sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
 
我嘗試了您建議的所有三個命令,但沒有一個命令會殺死和/或重新啟動藍牙。我之所以這樣說,是因為發出每個命令的“ kill”版本後,我仍然可以使用我的藍牙鼠標和鍵盤。還有其他想法嗎?我目前在優勝美地。
@zeeple:你說得對。@Testing提供的所有命令都將導致被終止的守護程序自動重啟,因為它們是由`launchd`(該命令界面為`launchctl`)配置的。
今天早上,這些命令都無法使我的藍牙正常工作。唯一有效的方法是重新啟動操作系統。
實際上,在El Capitan上,sudo launchctl stop com.apple.blued命令確實可以自動重啟守護程序,而無需使用start命令。較舊的命令在El Capitan上無法執行任何操作,因此很遺憾,我沒有更多的見識(僅在幾週前升級了我的最後一台Yosemite機器)。
可悲的是,我為一家IT部門落後的大公司工作。他們將不允許升級到優勝美地以外的任何地方。上面的命令對我都不起作用。每天早上重啟整個機器是唯一可行的方法。
kextunload&load在優勝美地為我工作
“ sudo pkill blued”不適用於El Capitan。
mogutan88
2018-07-19 13:15:07 UTC
view on stackexchange narkive permalink

要提到的一件事是守護程序名稱blued(至少在macOS 10.11 El Capitan之前)已更改為bluetoothd

因此,根據macOS的版本,您需要在以下命令中更改守護程序名稱。

要注意的另一件事是,由於El Capitan中引入的SIP(系統完整性保護),因此卸載然後加載守護程序的plist(而不是先停止然後再啟動或發送HUP信號)可能不起作用。 但是當您在El Capitan之前禁用SIP或在macOS上時,它應該可以工作。

  $ sudo launchctl卸載/System/Library/LaunchDaemons/com.apple.blued.plist
$ sudo launchctl加載/System/Library/LaunchDaemons/com.apple.blued.plist
 

即使在SIP環境中(在El Capitan之後),您也可以簡單地通過launchctl stop,然後再通過launchctl start守護程序。

  $ sudo launchctl stop com.apple.bluetoothd#或基於macOS版本的blued
$ sudo launchctl啟動com.apple.bluetoothd
 

如果您只想更改藍牙的狀態(開|關),而不希望守護程序真正重啟,則可以執行以下操作,

 #讓藍牙開啟
$ sudo默認寫
/Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1

#讓藍牙關閉
$ sudo默認寫
/Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 0

#然後重新加載守護程序
$ sudo killall -HUP bluetoothd#或基於macOS版本的blued
#在裝有proctools的macOS系統上,可以將`killall`替換為`pkill`。
 

Blueutil很酷,但是它使用了IOBluetooth.framework的private API,因此它可能無法在macOS的未來版本中使用。

miemo
2017-12-27 22:49:05 UTC
view on stackexchange narkive permalink

這個第三方命令行工具似乎可以一直運行到High Sierra,從而抽像出了OSX版本之間的差異: https://github.com/toy/blueutil

在10.13`blueutil off && blueutil s && blueutil on`上為我工作 加上可以通過brew`brew install blueutil`安裝
Yusuf
2018-03-02 10:49:05 UTC
view on stackexchange narkive permalink
  sudo pkill藍牙
 

在macOS High Sierra上為我工作 我的Logitech mx有時在睡覺後無法正常工作。我讀到的不是因為鼠標,而是macOS Smart Bluetooth錯誤。 但是我的Apple鍵盤始終可以正常工作,但從未遇到過此問題。 有時,我喚醒計算機後,Apple鍵盤可以工作,但Logitech鼠標不能工作。因此,如果沒有鼠標,我將無法從系統重新啟動藍牙(我可以關閉藍牙,但鍵盤也消失了,因此無法再次重新啟動)。。我的鼠標在一秒鐘內開始工作!

Mark Winterbottom
2018-08-17 14:50:36 UTC
view on stackexchange narkive permalink

對於帶有macOS High Sierra 10.13.6的Macbook Pro 2017,我使用以下bash腳本重新啟動藍牙:

 #!/ bin / bash

sudo launchctl stop com.apple.bluetoothd
sudo launchctl啟動com.apple.bluetoothd
 
Miriam Marling
2017-02-06 21:33:52 UTC
view on stackexchange narkive permalink

在GitHub Gist上找到此頁面,其中包含適用於我的命令(我正在運行Yosemite v。10.10.5)。您只需在終端中鍵入以下命令即可重新啟動藍牙守護程序,而無需重新啟動:

  sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
 

EnriqueH
2017-02-20 16:29:46 UTC
view on stackexchange narkive permalink

我正在運行優勝美地v10.10.5,其他註釋/要點對我都沒有作用。我設法找出的使藍牙驅動程序恢復活力的唯一步驟是:

  1. 執行sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 終端
  2. 在不保存打開的窗口的情況下重新啟動計算機
  3. ol>
對我來說,只需重啟計算機即可解決問題。我正在尋找的是一種無需重新啟動整個計算機的命令行方式。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...