Wie steuere ich drahtloses Bluetooth-Radio über die Befehlszeile?

Diese Frage ist fast die gleiche wie meine vorherige Frage , aber mit einem großen Unterschied; Ich möchte Bluetooth über die Befehlszeile (Bash oder ähnliches) ein- und ausschalten, NICHT über AppleScript - die Antworten dafür habe ich auf Superuser gesehen, die alle AppleScript verwendet haben.

Ich würde vermuten, dass networksetupdas nützlich sein könnte, aber ich habe keine Ahnung, mit welchen Schnittstellen ich interagieren soll. Ich hätte gerne eine Antwort mit einem vollständigen Befehl, den ich ausführen (und verstehen ) MacBook2,1kann . und wenn Sie nur für 6,1 und 7,1 tun können, ist das in Ordnung.MacBook7,1MacBook5,1

Sie können AppleScript über die Befehlszeile ausführen, osascript -e "<applescript goes here>"wenn das Popup-Fenster das einzige Problem ist, das Sie bei der Verwendung haben.
Ich mag AppleScript nicht als Sprache; es neigt dazu, ausführlich zu sein.
Außerdem sind Hilfsgeräte nicht aktiviert und ich kann auf diesem Computer nicht verwalten.

Antworten (3)

Blueutil ist ein nettes kleines Befehlszeilentool, um dies zu tun. Es ist kostenlos und wird mit dem Quellcode geliefert. Wenn Sie Homebrew installiert haben, können Sie es überbrew install blueutil.

Verwendung:

Drucken Sie den Bluetooth-Status
blueutil

Bluetooth einschalten
blueutil --power 1 bzwblueutil -p 1

Bluetooth ausschalten
blueutil --power 0 bzwblueutil -p 0

Funktioniert einwandfrei auf einem Macbook Pro mit Lion (10.7.3) und einem Mac mini mit Snow Leopard (10.6.8). Sie erhalten einige Fehler, wenn Sie das Bluetooth ausschalten, während eine magische Maus verbunden ist, es funktioniert jedoch immer noch :)

Danke dir. Ich werde dies bald akzeptieren, aber ich möchte es nicht innerhalb von 6 Stunden nach dem Posten akzeptieren (wenn Sie dies tun können, ohne etwas herunterzuladen, verwenden Sie einfach das integrierte OS X, das auch sehr nett wäre, also warte ich darauf, ob jemand schlägt vor, dass).
@Andrew Die andere Möglichkeit, dies zu tun, ohne etwas herunterzuladen, besteht darin, den Bluetooth-Daemon-Prozess (blau) wie folgt zu beenden (und neu zu starten). Ich würde jedoch empfehlen , diese Methode nicht zu verwenden, da sie das Bluetooth-Einstellungsfenster und das Bluetooth-Statussymbol in der Menüleiste verwüstet, da sie sich jetzt nicht mehr selbst aktualisieren können. So stoppen Sie den Bluetooth-Daemon: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist. So starten Sie den Bluetooth-Daemon neu:sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
@Andrew Ah, ich habe gerade in einem früheren Kommentar bemerkt, dass Sie sagten, Sie könnten nicht "auf diesem Computer verwalten". Wenn ich das richtig verstanden habe, funktioniert mein vorheriger Kommentar nicht, da Sie ein Administratorkennwort eingeben müssensudo
Es ist in Ordnung, blueutilhat gut funktioniert.
blueutil enthält einen fragwürdigen Code. Es versucht, ein Osax namens XMail zu verwenden. XMail ist ein kostenloses OSAX für Mac OS X, mit dem Sie E-Mails von AppleScript aus versenden können. Seien Sie vorsichtig mit Software, der Sie Administratorrechte geben. Hier ist eine Nachricht, die ich im Terminal erhalten habe, als ich das Installationsprogramm ausgeführt habe, aber bevor ich Administratorrechte autorisiert habe. Fehler beim Laden von /Library/ScriptingAdditions/XMail.osax/Contents/MacOS/XMail: dlopen(/Library/ScriptingAdditions/XMail.osax/Contents/MacOS/XMail, 262): kein passendes Bild gefunden.
Ich habe ihm keine Adminrechte gegeben. Ich habe gerade die Binärdatei kopiert.
Ja, habe gerade die Binärdatei nach /usr/local/bin kopiert. Aber wo ist dieser fragwürdige Code? Ich habe mir die mitgelieferte Quelle angesehen und sie sah echt aus, habe sie aber nicht erstellt.
Dies war eine großartige Antwort und übrigens, Sie können brew install blueutiles einfach installieren. Sie scheinen die Befehlszeilen-Flags geändert zu haben, blueutil power 1um Bluetooth einzuschalten.
Und blueutil power 0zum Abschalten.
Meistens erwartet, dass eine alte Mac-Antwort auf neueren Intel-basierten Maschinen fehlschlägt, aber es funktioniert auch für macOS High Sierra 10.13.6! War ein Charme, da mein Bluetooth-Dienst meine Geräte heute Morgen nicht wieder von der Anmeldung abgeholt hat. Dies war in der Lage, den Dienst umzuschalten, wenn das Pref Pane dies nicht war! Ich mag auch kürzere Befehle, die die Community in einigen Fällen unterstützt, wie im Gegensatz zu der anderen launchctlAntwort unten. blueutil -p <\d>hat für mich wie in dieser Antwort funktioniert, im Gegensatz zu den obigen Kommentaren.

Folgendes funktionierte für mich (OSX 10.7.5), um Bluetooth über die Befehlszeile einzuschalten (mit den hier gefundenen Befehlen ):

sudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1

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

(Ich bin auf das Problem gestoßen, dass ich Bluetooth deaktiviert habe und dann beim nächsten Systemstart die drahtlose Tastatur nicht mehr verwenden konnte ... also keine Anmeldung vom Bildschirm, sondern ich konnte mich über ssh anmelden. Und es war mir nicht klar wie man Software installiert, z. B. blueutilüber die Befehlszeile, wie von @binarybob vorgeschlagen)

Ich kann auf diesem Computer nicht sudo, wie in einem meiner anderen Kommentare, aber das ist immer noch schön zu wissen. Ich habe blueutil grafisch entpackt und dann die ausführbare Datei über die Befehlszeile ausgeführt, also musste ich sie bereits eingerichtet haben.
Wie binarybob zuvor in seinem Kommentar sagte , kann dies die GUI verwirren

Dieses Open-Source-Mac-Befehlszeilentool tut das angeblich und noch viel mehr:

https://github.com/guarinogabriel/Mac-CLI

Das ultimative Tool zur Verwaltung Ihres Mac. Es bietet eine große Auswahl an Befehlszeilenbefehlen, die die Verwendung Ihres OS X-Systems automatisieren.