Làm cách nào để điều khiển radio không dây Bluetooth từ dòng lệnh?


22

Câu hỏi này gần giống như câu hỏi trước đây của tôi , nhưng với một sự khác biệt lớn; Tôi muốn bật / tắt Bluetooth từ dòng lệnh (bash hoặc tương tự), KHÔNG phải từ AppleScript - câu trả lời cho điều này tôi thấy trên siêu người dùng đều sử dụng AppleScript.

Tôi đoán rằng networksetupcó thể có ích nhưng không có ý tưởng những gì giao diện (s) để tương tác với - Tôi muốn một câu trả lời bao gồm một lệnh hoàn chỉnh tôi có thể chạy (và hiểu) - nếu vấn đề mô hình thiết bị, nó Snow Leopard trên MacBook2,1để MacBook7,1, trừ MacBook5,1, và nếu bạn chỉ có thể làm cho 6,1 và 7.1 thì tốt.


1
Bạn có thể chạy AppleScript từ dòng lệnh bằng cách sử dụng osascript -e "<applescript goes here>"nếu cửa sổ bật lên là vấn đề duy nhất bạn gặp phải khi sử dụng nó.
Hội trường Mathew

Tôi không thích AppleScript như một ngôn ngữ; nó có xu hướng dài dòng
Andrew Wonnacott

Ngoài ra, Thiết bị hỗ trợ không được bật và tôi không thể quản trị trên máy tính này.
Andrew Wonnacott

Câu trả lời:


40

Blueutil là một công cụ dòng lệnh nhỏ gọn để làm điều này. Nó miễn phí và đi kèm với mã nguồn. Nếu bạn đãcài đặt homebrew , bạn có thể cài đặt nó quabrew install blueutil.

Sử dụng:

In trạng thái bluetooth
blueutil

Bật bluetooth
blueutil --power 1 hoặcblueutil -p 1

Tắt bluetooth
blueutil --power 0 hoặcblueutil -p 0

Chỉ hoạt động tốt trên Macbook Pro chạy Lion (10.7.3) và Mac mini chạy Snow Leopard (10.6.8). Bạn sẽ gặp một số lỗi nếu bạn tắt bluetooth trong khi chuột ma thuật được kết nối, mặc dù vậy nó vẫn hoạt động :)


Cảm ơn bạn. Tôi sẽ chấp nhận điều này sớm nhưng không muốn chấp nhận trong vòng 6 giờ sau khi đăng (nếu bạn có thể làm điều này mà không cần tải xuống bất cứ thứ gì, chỉ cần sử dụng OS X tích hợp cũng sẽ rất tuyệt vì vậy tôi đang chờ xem ai đó gợi ý rằng).
Andrew Wonnacott

3
@Andrew Một cách khác mà bạn có thể làm điều này mà không cần tải xuống bất cứ điều gì là bằng cách giết (và khởi động lại) quá trình daemon bluetooth (blued) như sau. Tuy nhiên, tôi khuyên bạn không nên sử dụng phương pháp này vì nó chơi havoc với ngăn tùy chọn bluetooth và biểu tượng trạng thái bluetooth trong thanh thực đơn, vì giờ đây chúng sẽ không thể tự cập nhật nữa. Để dừng daemon bluetooth : sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist. Để khởi động lại daemon bluetooth:sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
binarybob

1
Tôi đã không cho nó một đặc quyền quản trị viên. Tôi chỉ sao chép nhị phân.
Andrew Wonnacott

1
Vâng, chỉ cần sao chép nhị phân vào / usr / local / bin. Nhưng mã nghi vấn đó ở đâu? Nhìn vào nguồn bao gồm và nó có vẻ hợp pháp, mặc dù không xây dựng nó.
Erika

5
Đây là một câu trả lời tuyệt vời và BTW, bạn có thể brew install blueutildễ dàng cài đặt nó. Họ dường như đã thay đổi cờ dòng lệnh, sử dụng blueutil power 1để bật bluetooth.
Ivan

11

Cách sau đây giúp tôi (OSX 10.7.5) để bật bluetooth ON từ dòng lệnh (sử dụng các lệnh được tìm thấy ở đây ):

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

. Cách cài đặt phần mềm, chẳng hạn như blueutiltừ dòng lệnh như được đề xuất bởi @binarybob)


Tôi không thể sudo trên máy tính này, theo một trong những bình luận khác của tôi, nhưng điều này vẫn rất tốt để biết. Tôi đã giải nén blueutil đồ họa và sau đó chạy chương trình thực thi từ dòng lệnh, vì vậy tôi đã phải thiết lập nó.
Andrew Wonnacott

Như binarybob đã nói trước đây trong bình luận của mình , điều này có thể gây nhầm lẫn cho GUI
Greenonline

0

Công cụ dòng lệnh mac mã nguồn mở này được cho là làm điều đó, và nhiều hơn thế nữa:

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

Công cụ cuối cùng để quản lý máy Mac của bạn. Nó cung cấp một tập hợp lớn các lệnh dòng lệnh tự động hóa việc sử dụng hệ thống OS X của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.