Bluetooth hizmeti komut satırından nasıl yeniden başlatılır


28

Linux'ta Bluetooth hizmetini yeniden başlatmak isterse, sadece bir terminal başlatır ve aşağıdaki komutu verir:

sudo /etc/init.d/bluetooth restart

Mac OS X'te eşdeğer olan nedir? Tüm bilgisayarı yeniden başlatmak zorunda kalmadan Bluetooth'umu yeniden başlatmak istiyorum.

Kullanıyorum Yosemite.

Güncelleme: Test etme ile sağlanan çeşitli komut satırı seçeneklerinden en azından işe yaramış gibi görünen son seçenek buydu:

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

Güncelleme 2: Yukarıdaki komut artık çalışmıyor ve hiç çalışıp çalışmadığını merak ediyorum. İlk denediğimde, bluetooth hizmetlerimi yeniden başlatan başka bir şey olabilirdi. Benim için çalışacak tek şey, her sabah tüm makinenin yeniden başlatılmasıdır.


Hangi OS X sürümü? Bu durumda önemli olabileceği anlaşılıyor.
tim.rohrer

Başka bir uygulama yüklemek bir seçenektir, şu özeti kontrol edebilirsiniz: gist.github.com/ralph-hm/a65840c4f5e439b90170d735a89a863f
tim.rohrer

Mükemmel soru. Hala yatırım yapıyoruz. Bence temiz bir yol var Mavericksve Yosemite.
dan

Com.apple.Bluetooth.plist dosyasını / Library / Preferences / SystemConfiguration / veya / Library / Preferences / dizininden kaldırdım ve yeniden başlattım> düzeltildi. Aşağıdaki terminal komutları benim için çalışmadı - ama elbette bu dosyayı kaldıran ve daha sonra
mac'unuzu

Yanıtlar:


26

High Sierra'da, komut satırı seçeneklerinin hiçbiri benim için çalışmadı. Kablolu bir USB fare takıp Hata Ayıkla / Beklet çözümüyle Shift + Option'ı kullanabildim.

High Sierra'mda blueutil çözümünü denedim ve bir cazibe gibi çalıştı. Apple Magic Mouse hortumu ile 2015 MBPR'mda düzenli olarak Bluetooth var ve yeniden başlatmam gerekiyor. Evet, kapağı açabilir ve kaydırma tuşunu kullanabilirim, ama masamın boşluğundan duvarın diğer tarafında.

Blueutil'i Homebrew kullanarak kurabilirsiniz :

brew install blueutil

Veya aşağıdakileri kullanarak elle derleyebilir ve yükleyebilirsiniz:

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

Şimdi çalıştırın:

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

10.13.3 çalıştırıyorum ve başarıyla yukarıda yayınlanan komut satırı blueutil kullanılır. Bunun için teşekkür ederim!
Chris Sia

3
Son olarak, işe yarayan bir şey !!!
Mirko

6
Komut benim için çalışmadı. Çalıştırmak zorunda kaldım blueutil -p 0 && sleep 1 && blueutil -p 1Ayrıca ~/binkonum mesajı yok sonuçlandı. Tam yeri olan gerekli /usr/local/bin. Benim için mükemmel çalıştı. Teşekkürler.
Oliver

Koşu testi başarılı görünüyor, ama her zaman ile başlar ./test: line 3: read: 0.001: invalid timeout specificationSonra blueutil off && sleep 1 && blueutil on-bash: blueutil: command not found
koştuğumda

2
Sadece bunu homebrew ile kurabileceğine dikkat çekerek:brew install blueutil
Alter Lagos

17

El Capitan'da biraz zor çünkü sistem hizmetlerini kaldırmanıza izin vermiyor. Ancak, kaba kuvvet yöntemi:
sudo pkill blued
'blued' OS X bluetooth arka plan programıdır ve sonlandırıldığında otomatik olarak yeniden başlar (en azından El Capitan makinemde test ettiğimde). Diğer ilgili cinler şunlardır: com.apple.bluetoothReporter, com.apple.IOBluetoothUSBDFU ve com.apple.bluetoothaudiod (kullanarak çalışan cinlere bakabilirsiniz sudo launchctl list)

Ayrıca deneyebilirsiniz:

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

Daha eski bir OS X sürümüne sahipseniz daha temizdir:

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

veya

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

Üç komutun hepsini denedim ve hiçbiri bluetooth'u öldürmeyecek ve / veya yeniden başlatamayacaktı. Bunu söylüyorum çünkü komutların her birinin 'kill' sürümünü çıkardıktan sonra hala bluetooth faremi ve klavyemi kullanabildim. Başka fikir var mı? Şu anda Yosemite'dayım.
zeeple

@zeeple: haklısın. @Testing tarafından sağlanan tüm komut, öldürülen cinlerin otomatik olarak yeniden başlatılmasına neden olur, çünkü bu şekilde yapılandırılırlar launchd(hangi komut arayüzü launchctl).
dan

Bu sabah bu komutların hiçbiri bluetooth'umu tekrar çalıştırmak için çalışmıyor. İşe yarayacak tek şey işletim sisteminin yeniden başlatılmasıydı.
zeeple

El Capitan'da sudo launchctl stop com.apple.bluedkomut gerçekten de start komutu olmadan daemon'u otomatik olarak yeniden başlatır. Eski komutlar El Capitan'da hiçbir şey yapmıyor, bu yüzden maalesef daha fazla içgörü yok (sadece birkaç hafta önce son Yosemite makinemi yükselttim).
Test

Ne yazık ki, geriye BT departmanı olan dev bir şirkette çalışıyorum. Yosemite'nin ötesinde bir şeye yükseltmeye izin vermeyecekler. Yukarıdaki komutların hiçbiri benim için hiç çalışmıyor. Makineyi her sabah yeniden başlatmak işe yarayacak tek şeydir.
zeeple

7

Söz gereken bir şey cini adıdır blued (en azından MacOS 10.11 El Capitan kadar), olarak değiştirildi bluetoothd .

Bu nedenle, macOS sürümüne bağlı olarak, aşağıdaki komut (lar) da daemon adını değiştirmeniz gerekir.

Dikkat edilmesi gereken bir başka şey de, El Capitan'da tanıtılan SIP (Sistem Bütünlüğü Koruması) nedeniyle artalanın plist'inin kaldırılmasının ardından yüklenmesinin (durdurma sonra başlatma veya HUP sinyali gönderme) çalışmayabileceğidir. Ancak SIP'yi devre dışı bıraktığınızda veya El Capitan'dan önce macOS'ta çalışmalıdır.

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

SIP ortamında bile (El Capitan'dan sonra) durdurabilir ve sonra daemon'u başlatabilirsiniz .

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

Bluetooth'un durumunun (açık | kapalı) değiştirilmesini istiyorsanız, arka plan programının gerçekten yeniden başlatılmasını istemiyorsanız, aşağıdakileri yapabilirsiniz,

# 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 harika şeyler, ancak IOBluetooth.framework uygulamasının bazı özel API'lerini kullanıyor, bu nedenle macOS'un gelecekteki sürümünde çalışmayabilir.


5

Bu 3. taraf komut satırı aracı, High Sierra'ya kadar çalışıyor ve OSX sürümleri arasındaki farkları soyutlıyor gibi görünüyor: https://github.com/toy/blueutil


benim için çalışıyor 10.13 blueutil off && blueutil s && blueutil onartı demlemek ile kurulabilirbrew install blueutil
urandom

4
sudo pkill bluetoothd

MacOS High Sierra'da benim için çalışıyor My Logitech mx her yerde bazen uykudan sonra çalışmıyor. Fare yüzünden değil, bir macOS Akıllı Bluetooth hatası. Ancak Apple klavyem her zaman çalışır, bu sorunu asla çözemedim. Bazen bilgisayarımı uyandırırım, Apple klavyesi çalışıyor ancak Logitech fare çalışmıyor. Bu yüzden fare olmadan Bluetooth'u sistemden yeniden başlatamıyorum (kapatabilirim ama klavyem de gidebilir, bu yüzden tekrar başlayamaz) Bu komutu terminalden kullanmaya başladım, hizmeti durdurur, ancak hizmet durduğunda otomatik olarak kendini yeniden başlatır . Ve farem bir saniye içinde çalışmaya başlıyor!


4

MacOS High Sierra 10.13.6 ile Macbook Pro 2017 için aşağıdaki bash komut dosyasını kullanarak bluetooth'u yeniden başlatıyorum:

#!/bin/bash

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

2

Bu sayfayı GitHub Gist'te benim için çalışan komutlarla buldum (Yosemite s. 10.10.5 kullanıyorum). Bluetooth arka planını yeniden başlatmadan yeniden başlatmak için terminalde aşağıdakileri yazabilirsiniz:

sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 


1

Yosemite v10.10.5 kullanıyorum ve diğer yorum / gistlerin hiçbiri benim için hiç işe yaramadı. Bluetooth sürücüsüne geri dönmeyi başarabildiğim tek adım şuydu:

  1. Sudo yürüt kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransportTerminalde
  2. Açılan pencereleri korumadan bilgisayarı yeniden başlatın

4
Benim için, sadece bilgisayarı yeniden başlatmak hile yapar. Aradığım şey, tüm makineyi yeniden başlatmak zorunda kalmadan bunu yapmanın bir komut satırı yoludur.
zeeple
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.