कमांड लाइन से ब्लूटूथ सेवा को कैसे पुनरारंभ करें


28

लिनक्स पर, यदि कोई ब्लूटूथ सेवा को पुनरारंभ करना चाहता है, तो वे बस एक टर्मिनल लॉन्च करते हैं और निम्नलिखित कमांड जारी करते हैं:

sudo /etc/init.d/bluetooth restart

मैक ओएस एक्स पर समतुल्य क्या है? मैं पूरे कंप्यूटर को पुनरारंभ किए बिना अपने ब्लूटूथ को पुनरारंभ करना चाहूंगा।

मैं उपयोग कर रहा हूं Yosemite

अद्यतन: काम करने के लिए लगने वाले एकमात्र के नीचे परीक्षण द्वारा प्रदान किए गए विभिन्न कमांड लाइन विकल्प अंतिम थे, जो यह है:

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

अद्यतन 2: उपरोक्त आदेश अब काम नहीं करता है और मुझे आश्चर्य है कि अगर यह कभी हुआ। पहली बार मैंने कोशिश की कि यह कुछ और हो सकता है जिसने मेरी ब्लूटूथ सेवाओं को फिर से शुरू किया। केवल एक चीज जो मेरे लिए काम करेगी वह हर सुबह पूरी मशीन को फिर से शुरू करना है।


OS X का कौन सा संस्करण? ऐसा प्रतीत होता है कि यह इस मामले में मायने रखता है।
टिमरोहेर सेप

यदि कोई अन्य एप्लिकेशन इंस्टॉल करना एक विकल्प है, तो आप इस gist की जाँच कर सकते हैं: gist.github.com/ralph-hm/a65840c4f5e439b90170d735a89a863f
tim.roerer

बहुत बढ़िया सवाल। फिर भी बिंदु का निवेश। मुझे लगता है कि एक साफ तरीका है Mavericksऔर Yosemite
डेन

मैंने com.apple.Bluaxy.plist को / Library / Preferences / SystemConfiguration / या / Library / Preferences से हटा दिया और पुनः आरंभ किया> तय किया। नीचे दिए गए टर्मिनल कमांड मेरे लिए काम नहीं करते थे - लेकिन निश्चित रूप से आप एक टर्मिनल कमांड बना सकते हैं जो इस फाइल को हटा देता है और फिर आपके मैक को
रीस्टार्ट करता है

जवाबों:


26

हाई सिएरा पर, कमांड लाइन विकल्पों में से किसी ने भी मेरे लिए काम नहीं किया। मैं वायर्ड USB माउस में प्लग इन कर सकता था और डिबग / रेस्ट सॉल्यूशन के साथ Shift + ऑप्शन का उपयोग कर सकता था।

मैंने अपने हाई सिएरा पर ब्ल्यूटिल समाधान की कोशिश की, और यह एक आकर्षण की तरह काम किया। मैं नियमित रूप से एक Apple मैजिक माउस नली के साथ अपने 2015 MBPR पर ब्लूटूथ है, और पुनः आरंभ करना है। हाँ, मैं ढक्कन खोल सकता था और ट्रैक पैड का उपयोग कर सकता था, लेकिन यह मेरे डेस्क स्पेस से दीवार के दूसरी तरफ है।

आप Homebrew का उपयोग कर ब्लू वेल को स्थापित कर सकते हैं :

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 चला रहा हूं और ऊपर लिखी कमांड लाइन ब्लूटिल का सफलतापूर्वक उपयोग कर रहा हूं। उसके लिये आपका धन्यवाद!
क्रिस सिया

3
अंत में, कुछ है कि काम करता है !!!
मिरको

6
कमान मेरे काम की नहीं थी। मैं चलाने के लिए किया था blueutil -p 0 && sleep 1 && blueutil -p 1इसके अलावा ~/binस्थान के परिणामस्वरूप संदेश मौजूद नहीं है। पूरा लोकेशन चाहिए जो था /usr/local/bin। मेरे लिए पूरी तरह से काम किया। धन्यवाद।
ओलिवर

रनिंग टेस्ट सफल लगता है, लेकिन हमेशा ./test: line 3: read: 0.001: invalid timeout specificationतब से शुरू होता है जब मैं दौड़ता blueutil off && sleep 1 && blueutil onहूं-bash: blueutil: command not found
स्काईबॉन्डर्स

2
बस इशारा करते हुए आप इसे homebrew के साथ इंस्टॉल कर सकते हैं:brew install blueutil
Alter Lagos

17

El Capitan पर, यह एक तरह से मुश्किल है क्योंकि यह आपको सिस्टम सेवाओं को अनलोड करने की अनुमति नहीं देता है। हालांकि, एक जानवर-बल विधि है:
sudo pkill blued
'धब्बा' ओएस एक्स ब्लूटूथ डेमॉन है, और यह स्वचालित रूप से पुनरारंभ हो जाएगा जब समाप्त हो जाएगा (कम से कम जब मैंने इसे अपने एल कैपिटन मशीन पर परीक्षण किया)। अन्य संबंधित डेमॉन हैं: com.apple.bluaxyReporter, com.apple.IOBluaxyUSBDFU, और 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

मैंने आपके द्वारा सुझाए गए सभी तीन आदेशों की कोशिश की और उनमें से कोई भी ब्लूटूथ को नहीं मारेगा और / या पुनः आरंभ करेगा। मैं यह कहता हूं क्योंकि मैं अभी भी प्रत्येक आदेश के 'किल' संस्करण को जारी करने के बाद अपने ब्लूटूथ माउस और कीबोर्ड का उपयोग करने में सक्षम था। कोई अन्य विचार? मैं इस समय योसेमाइट पर हूं।
19

@ जिपल: आप सही कह रहे हैं। @Testing द्वारा प्रदान की गई सभी कमांड मारे गए डेमनों के एक स्वचालित पुनरारंभ का कारण बनेंगी क्योंकि वे इस तरह से कॉन्फ़िगर किए गए हैं launchd(जो कमांड इंटरफ़ेस है launchctl)।
डेन

आज सुबह इनमें से कोई भी आदेश मेरे ब्लूटूथ को फिर से काम करने के लिए काम नहीं कर रहा है। केवल एक चीज जो काम करेगी वह OS का रिबूट थी।
जीप

El Capitan पर sudo launchctl stop com.apple.bluedकमांड वास्तव में स्टार्ट कमांड के बिना डेमॉन को ऑटो-रिस्टार्ट करता है। पुराने कमांड एल कैपिटन पर कुछ भी नहीं करते हैं इसलिए दुर्भाग्य से मेरे पास बहुत अधिक अंतर्दृष्टि नहीं है (मैंने अपने अंतिम योसेमाइट मशीन को कुछ सप्ताह पहले ही उन्नत किया है)।
परीक्षण

अफसोस की बात है, मैं एक विशाल कंपनी के लिए काम करता हूं जिसमें एक बैकवर्ड आईटी विभाग है। वे योसेमाइट से आगे कुछ भी करने की अनुमति नहीं देंगे। ऊपर दिए गए आदेशों में से कोई भी मेरे लिए काम नहीं करता है। हर सुबह पूरी मशीन को फिर से चालू करना ही एकमात्र काम है।
zeeple

7

उल्लेख करने के लिए एक बात यह है कि डेमन नाम ब्लिस्ड (कम से कम जब तक macOS 10.11 एल कैपिटान है), को ब्लूटूथ में बदल दिया गया है ।

तो macOS के संस्करण के आधार पर, आपको नीचे दिए गए कमांड (एस) में डेमन नाम को बदलने की आवश्यकता है।

एक और बात ध्यान देने वाली है, अल कैपिटन में शुरू किए गए SIP (सिस्टम इंटीग्रिटी प्रोटेक्शन) के कारण हो सकता है कि अनलोड फिर डैमन प्लिस्ट (स्टॉप की जगह फिर स्टार्ट या HUP सिग्नल भेजना) काम न करे। लेकिन यह तब काम करना चाहिए जब आपने एल कैपिटान से पहले एसआईपी या मैकओएस पर अक्षम कर दिया हो।

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

यहां तक ​​कि एसआईपी वातावरण में (एल कैपिटान के बाद) आप बस स्टॉपक्टल स्टॉप को लॉन्च कर सकते हैं फिर लॉंच शुरू कर सकते हैं ।

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

यदि आप अभी चाहते हैं कि ब्लूटूथ की स्थिति (चालू बंद) बदल दी जाए, तो वास्तव में पुनः आरंभ करने के लिए डेमॉन नहीं चाहिए, आप निम्न कार्य कर सकते हैं,

# 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 कूल सामान है, लेकिन यह IOBluaxy.framework के कुछ निजी APIs का उपयोग कर रहा है , इसलिए यह macOS के भविष्य के संस्करण पर काम नहीं कर सकता है।


5

यह 3rd पार्टी कमांड लाइन टूल हाई सिएरा तक सभी तरह से काम करता है, OSX संस्करणों के बीच के अंतर को दूर करता है: https://github.com/toy/blueutil


मेरे लिए 10.13 blueutil off && blueutil s && blueutil onप्लस पर काम किया जा सकता है, इसे काढ़ाbrew install blueutil
यूरेनियम

4
sudo pkill bluetoothd

मैकओएस हाई सिएरा पर मेरे लिए काम करता है मेरा लॉजिटेक एमएक्स कहीं भी कभी-कभी नींद के बाद काम नहीं करता है। जैसा कि मैंने इसके माउस के कारण नहीं पढ़ा है, यह एक macOS स्मार्ट ब्लूटूथ बग है। लेकिन मेरा Apple कीबोर्ड हमेशा काम करता है, इस मुद्दे को कभी नहीं मिला। कभी-कभी मैं अपने कंप्यूटर को जगाता हूं, Apple कीबोर्ड काम कर रहा है लेकिन लॉजिटेक माउस काम नहीं कर रहा है। इसलिए माउस के बिना मैं सिस्टम से ब्लूटूथ को पुनः आरंभ नहीं कर सकता (मैं बंद कर सकता था लेकिन मेरा कीबोर्ड भी चला जाता है, इसलिए मैं फिर से चालू नहीं कर सकता) मैंने टर्मिनल से इस कमांड का उपयोग करना शुरू कर दिया, यह सेवा बंद कर देता है लेकिन जब सेवा बंद हो जाती है तो यह स्वतः ही इसे फिर से शुरू कर देता है। । और मेरा माउस एक सेकंड के भीतर काम करना शुरू कर देता है!


4

MacOS हाई सिएरा 10.13.6 के साथ मेरी मैकबुक प्रो 2017 के लिए, मैं निम्नलिखित बैश स्क्रिप्ट का उपयोग करके ब्लूटूथ को पुनः आरंभ करता हूं:

#!/bin/bash

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

2

यह पृष्ठ GitHub Gist पर उन कमांड्स के साथ मिला, जिन्होंने मेरे लिए काम किया (मैं Yosemite 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
मेरे लिए, बस कंप्यूटर को रीस्टार्ट करने से ट्रिक आती है। मैं जो देख रहा हूं वह पूरी मशीन को पुनः आरंभ किए बिना इसे करने के लिए एक कमांड लाइन तरीका है।
18
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.